MySQL での制限付きの行の更新
MySQL では、UPDATE クエリで LIMIT 句を使用すると混乱を招く可能性があります。ここでは、その使用法について詳しく説明し、関連する質問に対処します。
LIMIT を使用したクエリ
特定の範囲内の行を更新するには、次の構文を使用できます。 :
UPDATE table_name SET column_name = value WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT start_row, row_count ) tmp )
たとえば、行 1001 から 1100 に更新するには、 use:
UPDATE table_name SET p_id = 3 WHERE id IN ( SELECT id FROM ( SELECT id FROM table_name ORDER BY id ASC LIMIT 1001, 1000 ) tmp )
無効なクエリ
指定したクエリ (UPDATE oltp_db.users SET p_id = 3 LIMIT 1001, 1000) は、LIMIT を使用できないため無効ですUPDATE ステートメント内で直接実行します。上に示すように、サブクエリ内で適用する必要があります。
NULL 値の更新
p_id 列に NULL 値が含まれている場合、次のクエリは機能しません:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id = null
NULL 値を更新するには、IS NULL を使用できます。条件:
UPDATE `oltp_db`.`users` SET p_id = 3 WHERE p_id IS NULL
以上がMySQL UPDATE クエリで LIMIT を使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。