Aller au contenu

Pas de contrainte d'intégrité référentielle?


pT-benj

Sujets conseillés

Bonjour à tous, voila j'ai un petit problème dans une requête avec MySQL,

Donc pour faire simple, je travaille ici sur 2 tables, une table CATEGORIE et une table PRODUIT.

Le MRD :

CATEGORIE(id_cat, nom_cat)

PRODUIT(id_produit, nom_produit, #id_cat)

Il devrait donc y avoir une contrainte d'intégrité référentielle.

Le problème est que quand, avec une requête SQL, je supprime une catégorie, cela la supprime même si elle se trouve dans un produit.

Exemple :

Categorie

ID|Nom

5 |Périphérique

Produit

ID|Nom |ID_CAT

2 |Clé USB |5

Normalement je ne peux pas supprimer la catégorie "Périphérique" car elle est en lé étrangère dans produits...Pourtant avec MySQL, elle est effacée quand même.

Y a t'il un pas un moyen pour afficher un message en disant que la suppression est impossible?

J'espère avoir été assez clair. :blush:

En vous remerciant par avance de vos réponses, je vous souhaite une bonne journée.

Lien vers le commentaire
Partager sur d’autres sites

Sauf erreur de ma part tu ne peux le faire avec mysql de base (MYISAM), il te faut dans ce cas par exemple MYSQL + INNODB et là c'est ok.

Lien vers le commentaire
Partager sur d’autres sites

En effet en admettant que la contrainte de clef étrangère soit bien faite, il faut que tes tables soit en innoDB

A bientôt

Modifié par Kent
Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

ou alors, ce que je fais, c'est que je liste avec PHP toutes les liens et je les supprime

Ca se fait assez vite avec une fonction qui liste les liens, qui s'appelle elle-même pour les sous-liens, et qui supprime les enregistrements.

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...