【发布时间】:2017-11-04 04:06:10
【问题描述】:
如果我插入会出错:
INSERT INTO klub_pemain (id_klub,id_pemain,tahun_masuk,tahun_keluar,jml_gol) VALUES ('152','aBJAD','1998','2004','50');
我在 Visual Studio 代码和源代码中编写代码到 mysql 控制台
第一个表:
DROP TABLE IF EXISTS klub;
CREATE TABLE klub (
id_klub INT(10) NOT NULL AUTO_INCREMENT,
nama_klub VARCHAR(15),
tahun_berdiri INT(10),
direktur VARCHAR(10),
CONSTRAINT id_klub_pk PRIMARY KEY(id_klub)
)ENGINE=innoDB;
第二张桌子:
DROP TABLE IF EXISTS pemain;
CREATE TABLE pemain(
id_pemain INT(10) NOT NULL AUTO_INCREMENT,
nama_pemain VARCHAR(10),
tgl_lahir DATE,
kota VARCHAR(10),
CONSTRAINT id_klub_pk PRIMARY KEY(id_pemain)
)ENGINE=innoDB;
第三张桌子:
DROP TABLE IF EXISTS klub_pemain;
CREATE TABLE klub_pemain(
id_klub INT(10),
id_pemain INT(10),
tahun_masuk INT(10),
tahun_keluar INT(10),
jml_gol INT(10),
INDEX(id_klub),
INDEX(id_pemain),
CONSTRAINT klub_fk FOREIGN KEY (id_klub) REFERENCES klub(id_klub) ON DELETE
CASCADE ON UPDATE CASCADE,
CONSTRAINT pemain_fk FOREIGN KEY (id_pemain) REFERENCES pemain(id_pemain) ON
DELETE CASCADE ON UPDATE CASCADE
)ENGINE=innoDB;
我收到消息:
错误 1452 (23000): 无法添加或更新子行:外键约束失败 (
sbd14.klub_pemain, CONSTRAINTklub_fkFOREIGN KEY (id_klub) REFERENCESklub(id_klub) 在更新级联时删除级联)
请帮助我 :( ,, thx :)
【问题讨论】:
-
我的猜测是,您在插入语句中提到的一个外键在
klub或pemain表中没有对应的主键。由于您没有发布其他信息,因此您必须自己检查。