1. ホーム
  2. sqlite

[解決済み] SQLiteでテーブルが存在するかどうかを確認するにはどうすればよいですか?

2022-03-16 01:09:16

質問

どうすればいいのですか? 確実に SQLiteで、特定のユーザー・テーブルが存在するかどうかをチェックすることができます。

私は、テーブル上で "select *" がエラーを返したかどうかをチェックするような信頼性の低い方法を求めてはいません(これは良いアイデアでしょうか)。

理由はこんな感じです。

私のプログラムでは、いくつかのテーブルを作成し、それらがまだ存在しない場合は、それらを入力する必要があります。

すでに存在する場合は、いくつかのテーブルを更新する必要があります。

例えば、ディスク上のプログラム初期化/設定ファイルに特定のフラグを作成/配置/設定するなどして、問題のテーブルがすでに作成されていることを知らせるために、何か他の方法を取るべきでしょうか?

それとも、私のやり方は意味があるのでしょうか?

解決するには?

FAQの項目を見逃していました。

とにかく、今後の参考のために、完全なクエリは。

SELECT name FROM sqlite_master WHERE type='table' AND name='{table_name}';

ここで {table_name} はチェックするテーブルの名前です。

参考資料のドキュメント部分です。 データベースファイル形式。2.6. SQLデータベーススキーマの保存

  • これは、指定された名前のテーブルのリストを返します。つまり、カーソルのカウントは0(存在しない)または1(存在する)になります。