Я не уверен, если это возможно. Если нет, дайте мне знать.
У меня есть PDO mysql, который обновляет 3 поля.
$update = $mypdo->prepare("UPDATE tablename SET field1=:field1,
field2=:field2,
field3=:field3
WHERE key=:key");
Но я хочу, чтобы field3
обновлялся только тогда, когда $update3 = true;
(это означает, что обновление field3
контролируется условным оператором)
Возможно ли это сделать одним запросом?
Я мог бы сделать это с 2 запросами, где я обновляю field1
и field2
, затем проверяю логическое значение и обновляю field3
при необходимости в отдельном запросе.
//run this query to update only fields 1 and 2
$update_part1 = $mypdo->prepare("UPDATE tablename SET field1=:field1,
field2=:field2
WHERE key=:key");
//if field3 should be update, run a separate query to update it separately
if ($update3){
$update_part2 = $mypdo->prepare("UPDATE tablename SET field3=:field3
WHERE key=:key");
}
Но, надеюсь, есть способ сделать это за 1 запрос?