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

MySqlあるテーブルから別のテーブルへの更新が失敗する

    それらはNULLに設定されます 一致するものがない場合。

    JOINを使用することから始めます 更新の構文:

    UPDATE customers c JOIN
           prospects p
           ON p.prospect = c.entry_company_tax_id
        SET c.entry_company_tax_id = p.account;
    

    これには、一致するレコードのみを更新するという利点があります。したがって、新しいNULLは更新されません。 値(p.accountを除く NULLです 。

    次に、それが正しいJOINであるかどうかを調査できます 2つのテーブルのキー。 entry_company_tax_idを使用していますか JOINの両方に使用されます とフィールド値については?




    1. フィールドが条件に一致しないテーブルから選択する

    2. MySQLExplainプランで最適化されたSelectテーブルの意味

    3. 最初にUPDATEまたはDELETE、次にINSERT

    4. 配列をMySQLストアドルーチンに渡す