我试图创建一个大意如下的更新语句:MySQL:如何做一个有条件的更新?
TABLE car: id | owner_id | type | status
所有者可以拥有多辆。
UPDATE car c
SET c.type = 1
WHERE c.owner_id IN ($ids)
AND c.status = [1 IF THIS OWNER HAS A CAR WITH 1, ELSE A CAR WITH 0] // ... ???
$ ids相当小(小于50的值)。
这似乎很简单,但我似乎无法得到我的头,因为我不能使用SELECT子查询与UPDATE到同一个表。
有人吗?
感谢
我不确定究竟是什么“如果这个车主有一辆车......”意味着什么。可能会显示一些示例数据,以及如何通过更新来更改它。 – xenoterracide 2010-04-04 22:13:16
@ xenoterracide:基本上,车主拥有多辆车,其中一些状态= 1,一些状态= 0。所以我打算在状态= 1的行上进行更新,如果拥有者拥有的话,否则在status = 0行上进行更新。 – Tom 2010-04-04 22:16:44