MySQL
テーブルを更新したい。私がやりたいのはcolumn1
、データが存在しない限り更新し、column1
それを移動してcolumn2
代わりに更新することです。私が現在持っているコードは、常に最初の列を更新しています。
UPDATE users
SET active = 1,
time_started = '$_POST[in_time]'
WHERE user_id = '$_POST[user_id]
誰でもこれを手伝ってもらえますか?
何かのようなもの:
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 番目の列を更新したい場合があります)。