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

ボクココ

サービス開発を成功させるまでの歩み

SQLiteOpenHelper の execSQL で2文まとめて実行してはいけない

Android


久々のAndroidエントリー。


SQLiteOpenHelper#execSQL(str) は strのSQLをそのまま実行してくれる便利なメソッドだが、これに create table や alter table add column などをまとめて ; でつなげて実行すると、テーブルやカラムは出来上がるが、プログラムからその追加したカラムを呼びにいけないというなんとも謎の現象に見舞われる。


本当の原因はAndroidのソースを見に行かないとわからないが、とりあえずexecSQLを実行するときはSQL1文、という決まりを作ればまず問題は起きないだろう。