如果我插入:
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
,约束klub_fk
外键(id_klub
)在更新级联的删除级联上引用klub
(id_klub
)
请帮帮我:(,,thx:)
在那里我可以对你说两件事。
klub_pemain
表中,您将所有列的数据类型定义为int
,但当您插入数据时,您将插入字符串。请参阅insert查询的值。值(“152”、“a bjad”、“1998”、“2004”、“50”)
klub_pemain
之前,这些引用的数据应该在pemain
和klub
表中。例如,当您将id_klub
插入为值152
时,此对应的152
值行必须在klub
表中。