こんにちは!
今回はSQLite3でレコードが存在するか確認する方法についてまとめます。
何をしたいか
- テーブルにレコードが存在する時はINSERTせず、レコードが存在しない時だけINSERTしたい
コード例
result = @db.get_first_value(" SELECT count(*) FROM text WHERE text = 'something' ")
- textテーブルからtext列にsomethingが存在するかどうか結果を返す
- 存在しなければ0, 存在したら1以上の値が返る
注意点
- get_first_valueのところをexecuteで実行すると、SQLite3のResultクラスが返り、値の比較がそのままでは実行できない
おわりに
実際にDBから情報取得したり追加するプログラムを書くと、こういった細かいところでひっかかったりしますね。細かい部分についても、また何かあればまとめようと思います。
18/100