如何在 SQLite 中获取外键约束的名称?

Rom*_*n T 6 sqlite

SQLite 是否确实存在无法检索外键名称的限制?我问是因为我在他们的文档中找不到任何地方提到的这个限制。

例如,我运行以下脚本:

CREATE TABLE
       users (
       id INTEGER NOT NULL PRIMARY KEY,
       first_name TEXT NOT NULL,
       last_name TEXT NOT NULL
) ;

CREATE TABLE
       orders (
       id INTEGER NOT NULL PRIMARY KEY,       
       user_id INTEGER NOT NULL,       
       CONSTRAINT fk_users FOREIGN KEY (user_id) REFERENCES users(id)
) ;
Run Code Online (Sandbox Code Playgroud)

现在我想检查密钥“fk_users”是否确实创建了,所以我运行以下 PRAGMA:

PRAGMA foreign_key_list(orders);
Run Code Online (Sandbox Code Playgroud)

我希望在第一列中看到我的外键的名称,但我看到的是一些“0”值。此外,如果我使用自定义名称创建多个外键,它们都被称为“0”或“1”。

这确实是 SQLite 的限制,还是我遗漏了什么?

CL.*_*CL. 3

没有提取约束名称的机制。