-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 が null の場合、上記は次のようになります。

update users set time_in_1=time_in_1, time_started=?

(time_in_1 は変更しません。? は新しい値のプレースホルダーです)。time_started が null でない場合は、次のようになります。

update users set time_in_1=?, time_started=time_started

(time_started は変更しません)。いずれの場合も、新しい値を 2 回入力する必要があります (値が 1 つしかないと仮定します。最初の列を更新した場合とは異なる値に 2 番目の列を更新したい場合があります)。

于 2013-02-05T19:35:58.207 に答える