SELECT, DELETE et LIMIT

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : SELECT, DELETE et LIMIT

Re: SELECT, DELETE et LIMIT

par morrissfr » 09 juin 2011, 14:22

Merci tous les deux. je vais faire comme ça: récupérations des ids (après SELECT) puis DELETE avec ces ids.
Bonne journée!
Laurent.

Re: SELECT, DELETE et LIMIT

par Mazarini » 09 juin 2011, 14:01

Bonjour,

Dans un select sans "order by", il n'y a aucune garantie sur l'ordre des lignes de la table. Dans les cas d'un "order by" il n'y a pas non plus de garantie d'ordre pour 2 lignes ayant les mêmes valeurs des critères de tri.

Re: SELECT, DELETE et LIMIT

par xTG » 09 juin 2011, 13:06

Il faut nécessairement avoir les ids.
Donc voici comment procéder :
1) Une requête SELECT récupérant tes ids avec un LIMIT
2) La requête DELETE avec un WHERE id IN (ids_récupérés_avant)

Re: SELECT, DELETE et LIMIT

par morrissfr » 09 juin 2011, 12:42

Oui je sais... mais dans mon script ça m'arrangerait de travailler sur l'ordre de l'enregistrement car les champs sont volatils tels que je les emplois. Je peux donc pas trop me baser sur le contenu d'un champ mais sur son "ordre" dans la table. C'est pour ça que je l'appelle avec "LIMIT 5,1".

Re: SELECT, DELETE et LIMIT

par Mazarini » 09 juin 2011, 12:08

Bonjour,

En général on utilise la valeur d'une colonne pour faire la sélection.

select * from MaTable where id = 1234
delete from Matable where id = 2345

Il est fréquent d'avoir dans une table un champ de type entier défini en auto-incrément pour faire ca.

SELECT, DELETE et LIMIT

par morrissfr » 09 juin 2011, 11:41

Bonjour,
pour sélectionner un enregistrement précis dans une table (par exemple le cinquième) j'utilise:
"SELECT * FROM $categorie LIMIT 5,1"
Existe-t-il une manière identique pour supprimer un enregistrement? Genre
"DELETE FROM $categorie LIMIT 5,1"?
Merci de votre réponse!
Laurent