-1

我想更新我的MySQL表。我想要做的是更新column1,除非数据存在,column1然后将它移到column2并更新那个。我目前拥有的代码不断更新第一列。

UPDATE users
SET    active = 1,
       time_started = '$_POST[in_time]'
WHERE  user_id = '$_POST[user_id]

有人可以帮忙吗?

4

1 回答 1

3

就像是:

update users set active=1, time_in_1=if(time_started is null,time_in_1,?), time_started=if(time_started is null,?,time_started) while ...

实际上,当 time_started 为空时,上面的内容是:

update users set time_in_1=time_in_1, time_started=?

(保持 time_in_1 不变; ? 是新值的占位符)。如果 time_started 不为空,它会:

update users set time_in_1=?, time_started=time_started

(保持 time_started 不变)。在任何一种情况下,您都需要提供两次新值(假设只有一个;也许您希望将第二列更新为与将第一列更新为不同的值?)。

于 2013-02-05T19:35:58.207 回答