Я не уверен, возможно ли это. Если нет, дайте мне знать.Обновить запрос с условным?
У меня есть 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 запросе?
Можете ли вы уточнить, вы имеете в виду поле3, а не update3? Если это так, вы имеете в виду, когда новое значение, которое вы поставляете, истинно или существующее значение? – JAL
'update3' является логическим, а' $ update3 = true; 'является условием, которое поможет мне решить, действительно ли я хочу обновить' field3 =: field3' или нет. Я уточню вопрос, чтобы сделать его более понятным. – dmontain