2011-07-16 5 views
0

sqliteの中で、テーブルを作成したことで、文字列を持つことが可能です:sqliteから列パラメータを抽出する方法は?

select sql from sqlite_master where type='table' and tbl_name='MyTable' 

これは与えることができる:

CREATE TABLE "MyTable" (`id` PRIMARY KEY NOT NULL, [col1] NOT NULL, 
"another_col" UNIQUE, '`and`,''another'',"one"' INTEGER, and_so_on); 

を今、私はこの文字列で列名を指定した任意の追加のパラメータを抽出する必要がありますと設定されています。

しかし、これは列名が特殊文字で囲まれた、またはプレーン置くことができので、非常に困難であり、列名をカプセル化などとして使用されているいくつかの特殊文字を有することができる

私がアプローチする方法がわかりませんそれ。結果は、この名前の後で、,の前に何かを返さなければならないカラム名を持つべきです。idを与えると、PRIMARY KEY NOT NULLを返すべきです。

+0

ルック答えhttp://stackoverflow.com/questions/4730342/sql-command-to-extract-schema-of-a-sqlite-を表 – Londeren

答えて

1

プラグマtable_info使用:

http://www.sqlite.org/pragma.html#pragma_table_info

sqlite> pragma table_info(MyTable); 
cid|name|type|notnull|dflt_value|pk 
0|id||1||1 
1|col1||1||0 
2|another_col||0||0 
3|`and`,'another',"one"|INTEGER|0||0 
4|and_so_on||0||0 
関連する問題