【发布时间】:2019-05-30 07:24:29
【问题描述】:
以下代码应 IMO 产生错误,因为 user_id=1 不存在。为什么会起作用?
CREATE TABLE users (
user_id int PRIMARY KEY,
email text UNIQUE
);
CREATE TABLE claimed (
account_id int PRIMARY KEY,
user_id int,
domain text,
FOREIGN KEY (user_id) REFERENCES users (user_id)
);
INSERT INTO claimed
(user_id, domain)
VALUES (1, "abcd");
【问题讨论】:
-
你真的想要
INTEGER PRIMARY KEY列,顺便说一句。 sqlite.org/lang_createtable.html#rowid -
@Shawn 对于 SQL 来说,INTEGER 和 INT 不一样吗? sqlite.org/datatype3.html#type_affinity
-
对于 sqlite 和主键列来说不是。阅读该链接。
标签: sqlite