有没有数据库大佬帮我看一下

UPDATE user_system_info 

SET user_status = 2

WHERE

user_id = ( SELECT USER.user_id FROM `user` JOIN user_system_info WHERE USER.user_id = user_system_info.user_id AND USER.user_name = '测试')


请问这个mysql语法有啥问题,想在update 里面加一个select

杨苗 发布于 2020-6-18 17:06
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
zsh331Lv8专家互助
发布于2020-12-26 15:46

= =#这就是一个“连表更新”的操作;直接舍掉select查询;

====================

UPDATE user_system_info a
LEFT JOIN `user` b ON a.user_id = b.user_id
JOIN user_system_info c ON b.user_id = c.user_id
SET a.user_status = 2
WHERE
b.user_id IS NOT NULL
AND c.user_id IS NOT NULL
AND b.user_name = '测试'


最佳回答
0
张洪威Lv6高级互助
发布于2020-6-18 17:08

UPDATE user_system_info 

SET user_status = 2

WHERE

user_id = ( SELECT USER.user_id FROM `user` JOIN user_system_info on USER.user_id = user_system_info.user_id WHERE USER.user_name = '测试')


最佳回答
0
yinewstarLv5初级互助
发布于2020-6-18 17:11


UPDATE user_system_info 


SET user_status = 2


WHERE


user_id = ( 

SELECT USER.user_id 

FROM `user` 

, user_system_info 

WHERE USER.user_id = user_system_info.user_id AND USER.user_name = '测试')


最佳回答
0
卫九星Lv4初级互助
发布于2020-6-18 17:13(编辑于 2020-6-18 17:14)

UPDATE user_system_info 


SET user_status = 2


WHERE


user_id in (SELECT USER.user_id FROM user JOIN user_system_info on USER.user_id = user_system_info.user_id  WHERE   USER.user_name = '测试')


最佳回答
0
wangjiwan123Lv3见习互助
发布于2020-6-19 09:34

是不是报返回多行的错误?

  • 6关注人数
  • 575浏览人数
  • 最后回答于:2020-12-26 15:46
    请选择关闭问题的原因
    确定 取消
    返回顶部