sql >> データベース >  >> RDS >> Mysql

MYSQLサーバーで単一のJOINステートメントを使用して2つのテーブルを更新する方法は?

    まず、UPDATE JOINを実行するときに、JOIN条件を含めていないため、各テーブルのデカルト積を実行しようとします。

    #rows =  #rows_table1EN * #rows_table1ZH * ... * #rows_table1PT
    

    table1EN.id = table1xx.idに参加する必要があります テーブルごとに。

    次の問題は、変更する各列を参照する必要があることです。これにより、次のようになります。

    SET table1EN.detail = 'String Value',
        table1ZH.detail = 'String Value'
        ...
        table1PT.detail = 'String Value'
    

    これは、ステートメントを動的に構築することで実行できますが、それはかなり恐ろしいことです。

    これはすべて、あなたのデータベース構造に疑問を投げかけることになります。追加の言語列を持つ1つのテーブルを使用することを検討しましたか。 2文字の識別子(OKish)または言語テーブルへの外部キー(より良い)?



    1. クエリ内のMySQLユーザー定義変数に相当するMSSQL

    2. SSMSでオブジェクトエクスプローラーの詳細ウィンドウを使用して複数のオブジェクトを処理する方法-SQLServer/TSQLチュートリアルパート22

    3. Round()の2番目の引数を列で機能させるにはどうすればよいですか?

    4. SQLServerはアンダースコアをエスケープします