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,而不是直接进行获取。

猜你喜欢

转载自www.cnblogs.com/zzhangkuoo/p/9104224.html
今日推荐