je dois faire en php une vérification pour obtenir qu'avant de supprimer un enregistrement celui-ci ne se trouve pas dans une autre table please !!!
je dois faire en php une vérification pour obtenir qu'avant de supprimer un enregistrement celui-ci ne se trouve pas dans une autre table please !!!
Vous ne pouvez pas implémenter ça en comptant sur les clés étrangères (requiert un moteur InnoDB pour MySQL), il doit bien y avoir relation entre les deux, ou par un déclencheur ?
A défaut, il suffit de faire une requête COUNT et de regarder le nombre renvoyé sur cette autre table avant.
en faite je dois supprimer un produit que si il n 'appartient pas a une marque
ça devrait le faire, non ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_query('DELETE FROM produit WHERE idproduit = '.$idproduit.' AND idmarque IS NULL');
Il faut faire la vérification sur toutes les tables
DELETE FROM matable WHERE idproduit=1 AND (SELECT COUNT(*) FROM matable2 WHERE idproduit=1)=0
C'est peut être gérable avec des imbrications de ce style.
En francais :
Je supprime de matable le produit qui a pour idproduit 1 et qui n'est pas dans matable2.
bah pour faire une réponse valable en SQL, il nous faudrait un extrait de la structure de la bd ...
Sinon, pour répondre à , plutot que :
quitta à faire une requête imbriquée, on peut aussi faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM matable WHERE idproduit=1 AND (SELECT COUNT(*) FROM matable2 WHERE idproduit=1)=0
Code : Sélectionner tout - Visualiser dans une fenêtre à part DELETE FROM matable WHERE idproduit=1 AND idproduit NOT IN (SELECT idproduit FROM matable2)
j'aurais dû préciser j'ai une liste déroulante qui est remplie avec une table mais je dois supprimer de la liste déroulante en mettant comme condition que si un produit appartient à ce constructeur on ne peut pas supprimer;merci de me répondre c'est important.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager