前段时间在做一个删除接口,逻辑是删除a表中id和b表中id关联的一条数据,由于过于自信,sql写成:
delete from a1 a left join b1 b
on a.id = b.id
where b.id = 100
结果在发版本的时候发现,这个接口 竟然报语法错误,然后查阅资料发现关联表进行删除数据需要指定要删除的表的数据,即:
delete a from a1 a left join b1 b
on a.id = b.id
where b.id = 100
这次惨痛的教训,让我认识到要对代码心存敬畏,要仔细做好每一次的单元测试,不能再犯这种低级错误了!!!
本文通过一次删除接口的实现过程,揭示了SQL关联表删除语句的常见误区。作者原以为简单的左连接删除操作,却因未明确指定删除表而导致语法错误。正确的做法是在DELETE关键字后明确指定要删除的表名,以此避免不必要的错误。
565

被折叠的 条评论
为什么被折叠?



