Kyl*_*yle 12 sqlite schema primary-key
在SQLite中,我可以运行以下查询来获取表中的列列表:
PRAGMA table_info(myTable)
Run Code Online (Sandbox Code Playgroud)
这给了我列但没有关于主键可能是什么的信息.另外,我可以运行以下两个查询来查找索引和外键:
PRAGMA index_list(myTable)
PRAGMA foreign_key_list(myTable)
Run Code Online (Sandbox Code Playgroud)
但我似乎无法弄清楚如何查看主键.有谁知道我怎么能这样做?
注意:我也知道我可以这样做:
select * from sqlite_master where type = 'table' and name ='myTable';
Run Code Online (Sandbox Code Playgroud)
它将给出显示主键的create table语句.但我正在寻找一种方法来做到这一点,而无需解析create语句.
Mat*_*der 11
该table_info确实给你指示,如果它是一个主键,一个名为PK列(最后一个)(如果是这样的它的键索引)或没有(零).
要从文档中澄清:
对于不属于主键的列,结果集中的"pk"列为零,并且是主键中作为主键一部分的列的列的索引.
小智 8
希望这对某人有帮助:经过一些研究和痛苦,对我有用的找到主键列名称的命令是:
SELECT l.name FROM pragma_table_info("Table_Name") as l WHERE l.pk = 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12690 次 |
| 最近记录: |