Voici un tableau très basique pour illustrer ma question.Comment limiter une table auto-référencée dans MySQL pour qu'une ligne ne puisse pas se référencer?
CREATE TABLE Customer (
CustID INT,
CustLastName VARCHAR (20),
ReferralID INT,
ADD CONSTRAINT PRIMARY KEY (CustID),
ADD CONSTRAINT FOREIGN KEY (ReferralID) REFERENCES Customer(CustID)
);
Mon code actuel veille à ce que tous les anciens clients seulement qui ont CustID de peuvent être dans la colonne ReferralID (ils ont dit au client du magasin.) Cependant, le problème est rien n'empêche CustID d'égaler ReferralID dans le même rangée, ce qui est évidemment impossible. Un client ne peut pas se parler du magasin.
Fondamentalement, comment j'arrête CustID et ReferralID d'avoir la même valeur dans la même rangée?
Merci, Andrew
... bien que trompeusement, les contraintes de vérification sont autorisés à coder (pour la compatibilité avec d'autres bases de données) - ils sont tout simplement ignorés !? – Bohemian
Oui. Du manuel: "La clause CHECK est analysée ** mais ignorée ** par tous les moteurs de stockage." –
Hmm. Je n'ai aucune expérience avec les déclencheurs, (j'ai juste commencé ce cours) mais je vais essayer de comprendre quelque chose. Merci de m'avoir indiqué la bonne direction. –