【发布时间】:2011-06-13 18:02:09
【问题描述】:
我通过以下语句在我的 sql 中创建了一个外键..
ALTER TABLE `users` ADD FOREIGN KEY ( `id`)
REFERENCES `user_login` (`user_id`)
ON DELETE CASCADE ;
创建似乎成功,然后我执行删除语句
DELETE From user_login WHERE user_id = 1576;
但在用户中,引用该行的行仍然存在。我打开 mysql 工作台,它没有显示任何外键已创建的迹象。有谁知道为什么会这样?或者我做错了什么?在两个表中是一对一的关系。
【问题讨论】:
-
ALTER TABLE 语句是否返回错误——表明它没有被应用? DDL 语句隐式提交,因此与事务无关。
-
@OMG Ponies 不,它不会返回错误,它只是说 1306 行受到影响
标签: sql mysql foreign-keys myisam cascading-deletes