Far*_*žad 5 mysql delete mysql-workbench cascade
我真的很新ON DELETE CASCADE
。当父评论在表格中被删除时,如何删除子评论?
'CREATE TABLE `comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent` int(11) NOT NULL,
`comment` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=latin1'
Run Code Online (Sandbox Code Playgroud)
ALTER TABLE comments
ADD CONSTRAINT `delete_child`
FOREIGN KEY (`parent`)
REFERENCES `comments` (`id`)
ON DELETE CASCADE
Run Code Online (Sandbox Code Playgroud)
'CREATE TABLE `comments` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`parent` int(11) NOT NULL,
`comment` varchar(255) CHARACTER SET utf8mb4 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=135 DEFAULT CHARSET=latin1'
Run Code Online (Sandbox Code Playgroud)
这个SQLFiddle显示了我的情况。它适用于 SQLFiddle 但不适用于 MySQLWorkbench。
该错误表明您在该parentId
列中有无效的引用。
当您尝试插入包含无效引用的行、使用无效引用更新现有行或删除引用的行时,会显示此错误。当您尝试在已填充并包含对不存在的行的引用的列上创建外键约束时,您也会得到它,这就是您的情况。
解决方案:检查parentId
列的内容并更正/删除无效的引用。
归档时间: |
|
查看次数: |
1629 次 |
最近记录: |