MySQL中的错误:1093的解决方案,您不能指定from子句中更新的目标表

MySQL中的错误:1093的解决方案,您不能指定from子句中更新的目标表
发现问题

最近,在处理某些数据库中的数据时,编写了以下SQL语句:
更新f_student
集school_id = 0
哪里
(ID >
选择
身份证件

f_student
哪里
school_id = M
限制1

和ID <

选择
身份证件

f_student
哪里
school_id = M
限制1
)+ N

上面的SQL是在一段时间内修改数据,但将其放入测试环境中并报告以下错误:
{会} 1093你不能指定目标表的更新f_student在FROM子句
很明显,我们无法执行更新操作的表的查询操作,也就是说,我们在那里的条件子查询和子查询也更新操作的表。MySQL不支持这种查询修改方式。

解决方法

上网查一下,对于这个问题可以通过路径来实现,下面的sql语句。
更新f_student集school_id = 0
标识>

从中选择id(
选择ID从f_student哪里school_id = M限制1
作为临时

和身份< <


从中选择id(
选择ID从f_student哪里school_id = M限制1
作为temp_1
)+ N

好的,没问题。以上SQL相比以前的SQL当以ID,并得到ID查询而不是让它直接。

总结

以上就是本文的全部内容。希望本文的内容能给大家的学习或工作带来一定的帮助。如果有任何疑问,你可以留言。

tag:错误目标解决方案您不句中

相关内容