È possibile eseguire una query UPDATE in MySQL che aggiorna il valore del campo solo se viene soddisfatta una determinata condizione? Qualcosa di simile a questo:MySQL: aggiorna un campo solo se la condizione è soddisfatta
UPDATE test
SET
CASE
WHEN true
THEN field = 1
END
WHERE id = 123
In altre parole:
UPDATE test
SET
something = 1, /*field that always gets updated*/
CASE
WHEN true
THEN field = 1 /*field that should only get updated when condition is met*/
END
WHERE id = 123
Qual è il modo corretto di fare questo?
L'unica ragione per usare caso nella query di aggiornamento è che se si desidera aggiornare le righe in modo diverso a seconda una condizione. Se vuoi semplicemente aggiornare alcune righe, aggiungi le condizioni alla clausola where. – SilverSnake