在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 :(得分:1)
使用pragma 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