Mysql 更新(选择…)列表中的用户
我想更新列表中未选择其id的用户的所有记录。有没有关于我如何正确执行以下查询的建议Mysql 更新(选择…)列表中的用户,mysql,sql,sql-update,Mysql,Sql,Sql Update,我想更新列表中未选择其id的用户的所有记录。有没有关于我如何正确执行以下查询的建议 UPDATE credit SET val = 0 WHERE u_id not in (SELECT u_id FROM credit WHERE type = 10 and month(create_m)=5) 为什么需要select查询来执行此操作。试试这个 UPDATE credit SET val = 0 WHERE type <> 10 and month(create_m)<
UPDATE credit SET val = 0
WHERE u_id not in (SELECT u_id FROM credit WHERE type = 10 and month(create_m)=5)
为什么需要select查询来执行此操作。试试这个
UPDATE credit SET val = 0
WHERE type <> 10
and month(create_m)<>5
您使用的条件不相等:
:UPDATE credit SET val = 0
WHERE type <> 10 OR month(create_m) <> 5
UPDATE credit SET val=0
其中类型10或月份(创建)5
您正在使用哪些数据库管理系统?您是否尝试了上述查询?如果您使用的是sql server,并且u_id不为null,我认为您已经得到了答案。对于mysql,您可能希望避免使用“不在”或“在”。要避免使用“不在”,您可以使用什么来代替?您当前的查询有什么问题?;)。错误,不接受UPDATE中的select语句,因为用户id可能有其他类型不等于10且月份也不等于5的记录,我不要那些唱片effected@Pentagon-这也将更新类型
不相等的记录10
和月份
也不5
在我问的问题中,首先需要获取ID,然后更新其他ID,(原因是:如果一个id甚至有一条与查询匹配的记录,则不应更新该id的其他记录,这些记录甚至不匹配。@五角大楼-已更新立即重试当我们尚未将C分配给任何表时,C是什么意思?我的意思是在第一行?u_id可能有一条记录马赫和其他不匹配的记录,我不想要其他记录自单个记录匹配以来的同一用户更新。
UPDATE credit SET val = 0
WHERE type <> 10 OR month(create_m) <> 5