多表关联删除:
问题:删除a_table表中记录,同时把b_table表的关联记录删除。
错误方法:inner join,代码如下:
DELETE a,b
FROM a_table a
INNER JOIN b_table b ON a.note_no = b.note_no
WHERE a.note_no = '2021111610002675300000002'
内连接( INNER JOIN),原因是:如果使用内连接时,只能在a_table 、b_table 表都存在数据情况下删除成功,若a_table,b_table表数据不存在则会失败!
解决方法:使用左连接
DELETE a,b
FROM a_table a
LEFT JOIN b_table b ON a.note_no = b.note_no
WHERE a.note_no = '2021111610002675300000002'