mysql - 如何在删除其中一个表的记录时保持两个表的数据一致?

标签 mysql database database-design foreign-keys

假设我有两个表:studentscourse_scores

students中的属性为student_id、name、sex

course_scores中的属性为student_id、course、score

当我删除students中的记录时,course_scores中相应的记录也应该被删除,对吧?使它们保持一致。

你能告诉我执行此操作的代码吗?

最佳答案

ALTER TABLE course_scores ADD FOREIGN KEY (student_id) REFERENCES
    students (student_id) ON DELETE CASCADE

ON DELETE CASCADE 部分就是您想要的;如果相应的 student_id 被删除,这将删除 course_scores 中的所有行。您的表必须使用 InnoDB 引擎。

关于mysql - 如何在删除其中一个表的记录时保持两个表的数据一致?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14926156/

相关文章:

javascript - 如何使用 Mongoose 更新具有未知数量可能字段的 MongoDB 集合

mysql - 数据库表的数量与表大小

php - 使用 sha512 的安全 php 注册失败

php - PHP中的mysql_fetch_array()错误

用于 node.js 的 mysql 框架

java - Spring Boot JPA - 未设置 'hibernate.dialect' 时,对 DialectResolutionInfo 的访问不能为空

mysql - 表之间有空格的 SELECT 语句?

database-schema - 出生和死亡是否作为事件建模为家谱中的事件或属性

sql - 为什么不总是使用 GUID 而不是整数 ID?

php - while 循环只显示一个结果