元ブログ、sqliteのupdateはlimit出来ない - 技術は熱いうちに打て!
開発環境
SQLite 3.8.8.3
※ただし、自分でソースコードをビルドして入れたものは大丈夫だそうです。
すごいつまづきました。
select, insert, create table等は出来るのにupdateが出来ない。
みてみたらsqlite3_prepare_v2()がSQLITE_OKを返していない。
問題となったクエリは以下です。
update user set name = 'daiki1003' where id = 1 limit 1;
※たとえ、idを絞っていてもdeleteやupdateを叩く際は必ずlimitを付ける癖を付けています。
amalgamationはlimitをサポートしていない
文法的にどこも間違っていないのに突っぱねるsqlite3_prepare_v2()。
調べてみたらamalgamationだとlimitは出来ないそうです。
SQLITE_ENABLE_UPDATE_DELETE_LIMIT オプションが必要だそう。
誰かのお役に立てば。