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
)


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部