Documentation > Commandes > Delete
Cette commande permet de supprimer une ou plusieurs rangées d'une table.
delete from Table_Name [ where Where_Clause ];
La clause where peut être relativement compliquée et inclure une sous requête comme dans l'exemple suivant :
delete from visitors where id not in (select visitor_id from visit_history where last_meeting > now() – Interval 1 YEAR);
Mais, il faut bien tenir compte du fait que, la sous requête ne sera pas traitée comme une requête globale synsql. Elle sera evaluée localement sur chaque segment. Mais si vous pouvez utiliser un modèle en étoile le résultat est garanti. Sinon vous devez utiliser la méthode programatique.
- Si le serveur détecte qu'une partition de la table n'a aucun serveur disponible, il n'exécutera pas la requête, même si cette requête ne concerne aucune des rangées portées par la partition en question.
- Classiquement, 'delete from Table_Name' est équivalent à 'truncate Table_Name' tout en étant plus lent.
| 15 Jan 2026 07:25:07 | English version |