错误 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 将是 idnum 听起来像计数或 "number of" 之类的东西,而 id 是标识符的缩写。