特定のユーザー テーブルが存在するかどうかを SQLite で確実に確認するにはどうすればよいですか?
私は、テーブル上の「select *」がエラーを返したかどうかを確認するような信頼性の低い方法を求めているわけではありません (これは良いアイデアでしょうか?)。
理由は次の通りです:
私のプログラムでは、テーブルがまだ存在しない場合は、いくつかのテーブルを作成してデータを入力する必要があります。
すでに存在する場合は、いくつかのテーブルを更新する必要があります。
問題のテーブルがすでに作成されていることを通知するために、代わりに別の方法 (たとえば、ディスク上のプログラム初期化/設定ファイルに特定のフラグを作成/配置/設定するなど) を取る必要がありますか?
それとも私のアプローチは意味があるのでしょうか?
ベストアンサー1
その FAQ エントリを見逃してしまいました。
とにかく、今後の参考のために、完全なクエリは次のとおりです。
SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';
{table_name}
チェックするテーブルの名前はどこにありますか。
参照用のドキュメントセクション:データベースファイル形式。2.6. SQL データベーススキーマの保存
- これにより、指定された名前のテーブルのリストが返されます。つまり、カーソルのカウントは 0 (存在しない) または 1 (存在する) になります。