Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 更新(选择…)列表中的用户_Mysql_Sql_Sql Update - Fatal编程技术网

Mysql 更新(选择…)列表中的用户

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)<

我想更新列表中未选择其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)<>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