环境
node.js
+sequelize
+mysql
业务背景
在mysql
数据库中,有两个表已经建立了外键关系.
这个时候我想删除主表上的数据
但是sequelize
提供的destroy
方法不行
表结构
- 班主任表:
master(id,name)
- 学生表:
student(id,master_id,name)
问题
通过Teacher.destroy({where: {id: 2})
删除的时候,会报错.因为受到外键约束..没办法删除
sequelize有内置的级联删除么?
或者用 query
方法,怎么写sql代码呢?
我使用的方式 获取实例和关联的实例执行删除
也许是这样
teacher = Teacher.findById(2)
students = teacher.getStudents()
for (let student of students) { student.destory() }
teacher.destory()
这是有效的。刚刚学习。也许还有更好的方式 :)