読者です 読者をやめる 読者になる 読者になる

この日記は私的なものであり所属会社の見解とは無関係です。 GitHub: takahashikzn

"DELETE LIMIT OFFSET"という構文はない

MySQLでは"DELETE LIMIT"はOKですが、"DELETE LIMIT OFFSET"NGです。

なぜOFFSETを禁止しているのだろう。何か理由があるのかな。



ま、これはダメでも

DELETE FROM Hoge WHERE ... LIMIT ? OFFSET ?


こんな風にすればOKなんだけどさ。

DELETE FROM Hoge WHERE id IN (SELECT id FROM Hoge WHERE ... LIMIT ? OFFSET ?)

(2009/09/03 追記)

少なくともMySQL5.1では、サブクエリーでLIMITは使えないみたいです。

ウソをついてしまった…申し訳ありません m(__)m