Как извлечь параметры столбца из sqlite создать строку? - PullRequest
0 голосов
/ 16 июля 2011

в 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.

1 Ответ

1 голос
/ 16 июля 2011

Используйте прагму 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...