Delete en sql

Résolu
sorbidot Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   -  
 hotmazil -
Bonjour,

j'ai une table qui ne contient pas de clés primaire, et elle contient des doublons, je veux faire un DELETE mais pour supprimer une seule ligne.

Je vous remercie d'avance pour vos réponses
A voir également:

3 réponses

Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Bonjour,

Très fastidieux... Déjà, cela dépend de ton SGBD.
Sous mysql, il faut utiliser limit 0,1 en fin de requête : DELETE FROM [...] WHERE [...] LIMIT 0,1
Sous SQL Server, il faut utiliser TOP 1 en début de requête : DELETE TOP 1 FROM [...] WHERE [...]

Sous d'autres SGBD, il faut se renseigner sur la syntaxe exacte.

En tous cas, à ta place, je commencerais par engueuler le mec qui a eu l'idée d'une table sans clé primaire...

Xavier
1
sorbidot Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   3
 
Je vous remercie pour votre réponse, connaissez vous une solution oracle?
0
hotmazil
 
Petite précision sur le LIMIT de Delete sous MySQL :

La syntaxe exacte pour delete une ligne serait DELETE FROM [...] WHERE [...] LIMIT 1

et non : DELETE FROM [...] WHERE [...] LIMIT 0,1

LIMIT 0,1 s'applique pour les SELECT et non les DELETE
0
Reivax962 Messages postés 3672 Date d'inscription   Statut Membre Dernière intervention   1 011
 
Je ne savais pas il y a 5 minutes... Le temps de chercher sur Google...
WHERE ROWNUM = 1

Faudrait pas non plus se priver de recherche personnelle, hein !
1
sorbidot Messages postés 31 Date d'inscription   Statut Membre Dernière intervention   3
 
Je vous remercie beaucoup c'est le bon paramètre!
-1