在sqlite中,pragma_foreign_key_list
(doc)的结果表的列名是什么?甚至更好的是,我如何才能自己了解它们(因为我也想使用其他实用程序)?
为了澄清:我想做这样的事情
SELECT * FROM pragma_foreign_key_list('SomeTable');
以查看表的外键。但是,我将不得不阅读该表的特定列,也许我不想一开始就选择所有这些列。由于某种原因,我收到的表看起来不像here,但没有列标题。
答案 0 :(得分:1)
在第二个链接中使用该示例:
sqlite> PRAGMA foreign_key_list(nodes);
id seq table from to on_update on_delete match
---------- ---------- ---------- ---------- ---------- ---------- -------- ------------
0 0 types typeid id NO ACTION NO ACTION NONE
id
和seq
-编译指示返回的每一行都引用一列,但是外键可以是具有多列的复合键。 id
指向第N个键,seq
指向该键中的第N列。因此,在两列上具有单个FK的表将具有id = 0 seq = 0和id = 0 seq = 1的行。table
和to
-FK引用的父表和父表。 types.id
。from
子表中具有FK约束的列。 nodes.typeid
。on_update
和on_delete
-更新或删除引用的外键时采取的操作。match
-一种SQL92功能,用于与null值相关的外键操作,sqlite不会实现该功能,但是在确实增加支持的情况下会接受语法上的操作。