しょぼしょぼプログラマ雑記

自分のための備忘録。 開発記録など掲載してます。 質問・ご意見・ご感想等はTwitter ( https://twitter.com/yun_hokuto ) までお気軽にどうぞ。

SQLiteでテーブルのフィールド情報を取得する方法

ここのところ仕事が忙しく、久々の投稿になります。

 

今回は「SQLiteでテーブルのフィールド情報を取得する」方法です。

SQLとは何?って人はブラウザの戻るボタンを押してください。

 

例えば下記の様なテーブルがあったとします。

[TESTテーブル]

1)ID,INTEGER, PRIMARY KEY NOT NULL

2)NAME, TEXT

 

そこで発行するSQLは 「PRAGMA TABLE_INFO (TEST)」 です。

これを発行すると下記の様な内容が返ってきます。

 

0|ID|INTEGER|1||1

1|NAME|TEXT|0||0

 

意味は左から「行番号、フィールド名、型、NULL許可、初期値」です。

一番右は多分Auto Incrementだと思いますが、公式のドキュメントにはありませんでした。

フィールド数文のレコードを返してきます。

 

SQLiteでAUTOINCREMENTを使う際の注意

SQLiteでは「INTEGER PRIMARY KEY」とすると、自動でAUTOINCREMENTになりますが、これだと問題があります。

MySQLと違い、「AUTOINCREMENTを明示的に記述していない場合、一度利用された番号が再度使用される可能性がある」ということです。

また、MySQLでは AUTO_INCREMENT でしたが、SQLiteでは AUTOINCREMENT です。