• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:UPDATE - LIMIT 1の警告について)

UPDATE - LIMIT 1の警告について

このQ&Aのポイント
  • ステートメントベースのレプリケーションをしている時に、UPDATE 文でLIMIT 句を使用すると警告が出ます。
  • データ更新時にRAND()を使ったりした場合、ORDER BYの結果が異なってしまうのが理由です。
  • ただし、ORDER BYしていないQueryに対してもwarnが出る理由は分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

>DELETE FROM `__TABLE__` WHERE `user_id` = 1234 LIMIT 1 user_idがユニーク属性なカラムならLIMITはいりません 逆にユニークではないならLIMITによる抽出はレコードを特定できません。 LIMITは最初に出現する1つですが、ORDER BYしない場合は出現順は保証されないからです。 単体で運用しているならともかくレプリケーションを前提とするなら 更新や削除は厳密にデータを特定できる指定をしてください

関連するQ&A