2017年8月23日水曜日

AndroidのsqliteでUPDATE時にORDER BYは使えない

久々ですね。今日からちょいちょい今日学んだことでかけそうなことがあったら短文で書こうかなーと思ってます。続かなさそうだけど……

Androidのsqlite3では基本的にはUPDATE/DELETEのときにLIMIT/ORDER BYが使えません。

sqliteのupdateはlimit出来ない by @daiki1003 on @Qiita http://qiita.com/ashdik/items/ec3b3cf7d80182298854

https://www.sqlite.org/lang_update.html
↑はsqlite公式。UPDATEの下の方に明記してあります。LIMITのNO LIMITとORDER BYを使うと大変になるから禁止です、と読み取りました(英語がふわっとしか読めない弊害

まぁ確かにORDER BYの対象カラム更新して不具合出そうだし私もまさにそうしようとしてたしなぁ。

一応、コンパイル時にフラグを設定すれば解除できるらしいですが、ソース取ってきて自前でビルドは必須みたいですね。

P.S. Android版のBloggerアプリ、BackgroundにいってonDestroyが走ったら編集途中の内容が全部消えて萎えた。(のでリンク編集せずに投稿します。