错误 1064 (42000) MySQL 主键引用
ERROR 1064 (42000) MySQL PRIMARY KEY REFERENCES
我以前从未使用过MySQL,但这次我别无选择。我有一个错误我不明白。我尝试创建一个 table :
CREATE TABLE proprietaire(
num_cpt INT REFERENCES compte(num_cpt) PRIMARY KEY,
num_client INT REFERENCES client(num_client),
num_commercant INT REFERENCES commercant(num_commercant)
);
我看不出我的错误。你能帮我解决这个问题吗?
谢谢
在 MySQL 中,要强制执行外键引用,您不能将 references
作为修饰符放在列上。您需要为它们单独设置约束:
CREATE TABLE proprietaire (
num_cpt INT PRIMARY KEY,
num_client INT,
num_commercant INT,
CONSTRAINT fk_num_cpt FOREIGN KEY REFERENCES compte(num_cpt),
CONSTRAINT fk_num_client FOREIGN KEY REFERENCES client(num_client),
CONSTRAINT fk_num_commercant FOREIGN KEY REFERENCES commercant(num_commercant)
);
但是,您的具体问题是 PRIMARY KEY
约束之前的 REFERENCES
。
注意:在大多数英文数据库中,您使用的 num
将是 id
。 num
听起来像计数或 "number of" 之类的东西,而 id
是标识符的缩写。
我以前从未使用过MySQL,但这次我别无选择。我有一个错误我不明白。我尝试创建一个 table :
CREATE TABLE proprietaire(
num_cpt INT REFERENCES compte(num_cpt) PRIMARY KEY,
num_client INT REFERENCES client(num_client),
num_commercant INT REFERENCES commercant(num_commercant)
);
我看不出我的错误。你能帮我解决这个问题吗?
谢谢
在 MySQL 中,要强制执行外键引用,您不能将 references
作为修饰符放在列上。您需要为它们单独设置约束:
CREATE TABLE proprietaire (
num_cpt INT PRIMARY KEY,
num_client INT,
num_commercant INT,
CONSTRAINT fk_num_cpt FOREIGN KEY REFERENCES compte(num_cpt),
CONSTRAINT fk_num_client FOREIGN KEY REFERENCES client(num_client),
CONSTRAINT fk_num_commercant FOREIGN KEY REFERENCES commercant(num_commercant)
);
但是,您的具体问题是 PRIMARY KEY
约束之前的 REFERENCES
。
注意:在大多数英文数据库中,您使用的 num
将是 id
。 num
听起来像计数或 "number of" 之类的东西,而 id
是标识符的缩写。