我有两个表,table1是一个列ID的父表,table2是一个列IDFromTable1(不是实际的名称),当我把一个FK IDFromTable1到ID在table1,我得到的错误外键约束是不正确形成的错误。我想删除表2记录,如果表1记录被删除。谢谢你的帮助
ALTER TABLE `table2`
ADD CONSTRAINT `FK1`
FOREIGN KEY (`IDFromTable1`) REFERENCES `table1` (`ID`)
ON UPDATE CASCADE
ON DELETE CASCADE;
如果还需要其他信息,请告诉我。我是mysql的新手
试着运行以下命令:
show create table Parent
//and check if type for both tables are the same, like myISAM or innoDB, etc
//Other aspects to check with this error message: the columns used as foreign
keys must be indexed, they must be of the same type
(if i.e one is of type smallint(5) and the other of type smallint(6),
it won't work), and, if they are integers, they should be unsigned.
//or check for charsets
show variables like "character_set_database";
show variables like "collation_database";
//edited: try something like this
ALTER TABLE table2
ADD CONSTRAINT fk_IdTable2
FOREIGN KEY (Table1_Id)
REFERENCES Table1(Table1_Id)
ON UPDATE CASCADE
ON DELETE CASCADE;