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)
Partager