Aller au contenu

UPDATE#

essentiel

Syntaxe#

UPDATE table
SET col1 = val1, col2 = val2, ...
[WHERE condition];

Exemples#

UPDATE etudiants SET age = age + 1 WHERE ville = 'Paris';

UPDATE etudiants SET nom = 'Alice', age = 21 WHERE id = 1;

UPDATE etudiants SET actif = 0;   -- sans WHERE : toutes les lignes

Warning

Un UPDATE sans WHERE modifie toutes les lignes. Tester d'abord la condition avec un SELECT.

UPDATE FROM avancé#

Mettre à jour depuis une autre table (SQLite ≥ 3.33).

UPDATE etudiants
SET ville = v.nom
FROM villes v
WHERE etudiants.ville_id = v.id;

RETURNING avancé#

UPDATE etudiants SET nom = UPPER(nom) WHERE id = 1 RETURNING id, nom;   -- ≥ 3.35

Clauses OR avancé#

UPDATE OR IGNORE etudiants SET email = 'a@b.c';   -- ROLLBACK|ABORT|FAIL|IGNORE|REPLACE

Même sémantique que pour INSERT.

SQLite

Pas de clause LIMIT/ORDER BY sur UPDATE sauf compilation avec SQLITE_ENABLE_UPDATE_DELETE_LIMIT (rare).