我想更新我的MYSQL表,但有条件.
我有一个状态字段和一个时间字段.如果status = day,请不要使用当前时间更新时间字段.如果status = night,则使用当前时间更新时间字段.
现在,我正在做一个SELECT语句,然后在PHP中返回值的if语句,然后执行UPDATE并更改除时间之外的所有字段,除非status = night.是否可以在一个命令中完成所有操作?
编辑:
对不起,只是为了澄清:
如果status = night,WHERE命令将仅更新行.我总是希望更新行中的所有字段,但只有在status = night时才更新时间字段.如果status = day,则更新除时间字段之外的整个行.
码:
if($status=="night") {
$query = "UPDATE post SET name="$name", comment="$comment", status="$status", time="{now()}" WHERE id='$id'";
} else {
$query = "UPDATE post SET name="$name", comment="$comment", status="$status" WHERE id='$id'"
}
Run Code Online (Sandbox Code Playgroud)
UPDATE table
SET field1 = val1, time=IF(status="night",NOW(),time), field3= val3;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3883 次 |
| 最近记录: |