MySQLアップデート:SET句に基づいて行が変更されるのはなぜですか?
質問
1つのフィールドを更新した膨大な数のテーブルに接続された更新クエリを実行し、29Kの一部の行と一致しました。 SET句に追加のみで同じクエリを実行して、一致した行が118Kの一部の行に増加しました。これは、句が編集された場合にのみ変更されるはずです。
解決
私はそれを理解しただけだと思います...
MySQLは、更新中に生成されるすべての行ではなく、更新される行数をカウントする必要があります。違いは、1つの[a]から[b]が多く、[c]から1つの[b]が多い場合、すべてを結合するとn([c])行が作成されますが、[b]はn(b]のみをカウントするだけです( [b])。 [c]のセットを追加すると、この数値n([b]) + n([c])が作成されます。
セット句のフィールドは異なる表にあるため、更新された数が変更されます。
所属していません dba.stackexchange