有两个表:" personnes"
CREATE TABLE IF NOT EXISTS personnes(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
nom VARCHAR(40) NOT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB;
和" listadresses"
CREATE TABLE IF NOT EXISTS listadresses(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
adresse VARCHAR(40) NOT NULL,
PRIMARY KEY(id)
)ENGINE=InnoDB;
我无法根据子表的主键为每列添加外键以重现多对多的关系,我怎么能实现这种行为
CREATE TABLE IF NOT EXISTS liaisons(
id_nom INT UNSIGNED NOT NULL ,
id_adresse INT UNSIGNED NOT NULL ,
CONSTRAINT fk_nom FOREIGN KEY(id_nom) REFERENCES personnes(id),
CONSTRAINT fk_adresse FOREIGN KEY(id_adresse) REFERENCES listeadresses(id),
PRIMARY KEY(id_nom,id_adresse)
)ENGINE=InnoDB;
而不是我得到错误代码1215.无法添加外键约束,提前感谢任何见解!
答案 0 :(得分:2)
这是您的问题:)
而不是:
REFERENCES listeadresses(id),
试
REFERENCES listadresses(id),
它无法添加外键,因为显然侦听不存在,但 listadresses 确实存在。