【发布时间】:2013-07-31 20:11:59
【问题描述】:
使用 C API,我没有看到确定命名表的外键约束的方法?
举个例子:
CREATE TABLE artist(
artistid INTEGER PRIMARY KEY,
artistname TEXT
);
CREATE TABLE track(
trackid INTEGER,
trackname TEXT,
trackartist INTEGER,
FOREIGN KEY(trackartist) REFERENCES artist(artistid)
);
sqlite3_table_column_metadata() 会告诉你它是一个主键、自动增量等,但是如何 我要获得外键约束吗?
FOREIGN KEY(trackartist) REFERENCES artist(artistid)
我希望能够为表“跟踪”返回一个列表,其中有外键返回到表 Artist 列 artistid?
我没有看到执行此操作的 api?为了汇总,我需要在打开数据库时以编程方式执行此操作。
谢谢。
使用PRAGMA foreign_key_list(Valuation)后;
我回来了:
PRAGMA foreign_key_list(Valuation);
0|0|Stock|StockId|Id|NO ACTION|NO ACTION|NONE
我知道我需要在垂直条上拆分,但前两列是什么? 0|0 ?
【问题讨论】:
-
这个有吗? PRAGMA foreign_key_list(table-name);
-
我查看了源代码,看起来这些列是:id、sequence、table、from、to、on_update、on_delete、match
-
PRAGMA 应该产生一个结果集 IIRC...
标签: sqlite