在MySQL中我有两个表
角色
role_id | role_name
user_roles
user_id | role_id
user_roles表中的role_id是 FOREIGN KEY 。现在,如果 user_roles 表
上还存在role_id,我想限制删除角色表中的行我认为这可以在创建表时通过完整性设置完成。 我不知道CASCADE或RESTRICT做了什么以及它们是如何工作的。
我在某处读到存储引擎 MyISAM 不支持 FOREIGN KEY 所以请指导我购买两个存储引擎( MyISAM 和 InnoDB的)
答案 0 :(得分:1)
一切都在这里:http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html
更新:关于myisam:How to use delete cascade on MySQL MyISAM storage engine?
答案 1 :(得分:1)
您正确读到MyISAM引擎不支持外键完整性检查。我的建议是去找innodb。
大多数时候还有另一种选择,当我想坚持MyISAM表时,我会使用它,即在前端管理所有这些。但有时这并不好,因为你在前端增加了更多的麻烦。
转到 InnoDB