Probleme requete SQL

Fermé
Signaler
Messages postés
86
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2010
-
Messages postés
86
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2010
-
Bonjour,

Je souhaite supprimer une ligne d'une table répondant a certaine condition (WHERE), dont l'identifiant (id) est le plus petit. Le problème c'est que pour trouver le plus petit id, il faut une recherche (un SELECT)...se que mysql n'aime pas trop : Il n'autorise pas une recherche et une modification sur une même table en simultanée.

Je pourrais bien sur faire les deux actions, la recherche puis la suppression, l'une après l'autre, mais sa voudrait dire qu'il me faudrait créer deux requêtes sous php, plus de variables,ect...
Le top serais d'arriver a faire les deux dans la même requête ! J'ai déjà essayer en renommant les tables, mais sans succès...quelqu'un aurais une solution ?

La requête qui me bloque:
DELETE FROM liste_construction WHERE id_bases = '".$_SESSION['lieu']."' AND type = '3' AND id = (SELECT MIN(id) FROM liste_construction WHERE id_bases = '".$_SESSION['lieu']."' AND type = '3')

id étant la clé primaire de la table "liste_construction".

Merci

2 réponses

Messages postés
18143
Date d'inscription
mercredi 4 juin 2008
Statut
Contributeur
Dernière intervention
28 avril 2014
3 214
fais le en 2 temps:

d'abord tu execute la sous requete, tu récupères dans PHP la valeur du min(id), et ensuite avec ca tu fabriques ta 2° requete que tu executes....

ok ?
0
Messages postés
86
Date d'inscription
samedi 17 novembre 2007
Statut
Membre
Dernière intervention
24 janvier 2010
6
oui mais sa revient a créer des variables en plus...Je souhaiterais le faire en une fois, pour un code plus clair. Je pense que cela doit être possible.
0