mysql进行Update操作时报错1093
问题描述

这段话大致意思是说,不能在同一语句中,先select出同一表中的某些值,再update这个表,即不能依据某字段值做判断再来更新某字段的值
以下为错误代码实例:
UPDATE t_orders SET pay = 2
WHERE id in(
SELECT id FROM `t_order` WHERE time > '2023-04-15'
)
解决方法
在select查询的结果再通过中间表方式在查询一次即可解决
UPDATE t_orders SET pay = 2
WHERE id in(
select id from (
select id FROM `t_order` WHERE time > '2023-04-15'
) a
)
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
