mysql查询后修改数据库操作的“正确打开方式”


业务:删除传感器表t_eom_sensor 时从报警记录表t_eom_devicewarnrecord中也删除产生的记录。

oracle数据库执行没问题:

mysql数据库执行情况:报错: You can't specify target table ‘f_student' for update in FROM clause

意思很显而易见了,说不能对进行查询操作的表进行delete操作,也就说我们的where条件中进行了子查询,并且子查询也是针对需要进行DML操作的表的,mysql不支持这种查询修改的方式。

上面的sql相比于之前的sql只是在取id的时候绕了一下,通过一个子查询的方式获取到id,而不是直接进行获取。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM