Les méthodes pour ajouter des clés étrangères dans MySQL incluent : l'ajout directement après la valeur de l'attribut ; l'ajout à la fin de l'instruction SQL ; l'utilisation de fk et l'ajout de clés étrangères après la création de la table
Recommandations d'apprentissage associées : Tutoriel MySQL
4 façons d'ajouter des clés étrangères à MySQL
Créer la table principale : Classe
CREATE TABLE class(cid INT PRIMARY KEY AUTO_INCREMENT, sname VARCHAR(15) NOT NULL) INSERT INTO class VALUES(NULL,'六年级一班') INSERT INTO class VALUES(NULL,'六年级二班')
Première méthode : Ajouter
CREATE TABLE student(sid INT AUTO_INCREMENT, sname VARCHAR(10) NOT NULL, s_cid INT REFERENCES class(cid), PRIMARY KEY(sid) );
directement après la valeur de l'attribut//Ajouter des données pour tester
INSERT INTO student VALUES(NULL,'王大锤',2) INSERT INTO student VALUES(NULL,'胡汉三',3) //约束不生效,原因待查 INSERT INTO student VALUES(NULL,'卧槽',4) //不敢相信,在测试一次
De cette façon, je ne sais pas pourquoi, mais cela a été ajouté dans le test WTF ? Pas de résultats sur Baidu en ligne, pas de réponse dans le groupe d'auto-apprentissage, je vais le laisser ici pour l'instant
Deuxième type : 2. Ajoutez à la fin de l'instruction SQL
CREATE TABLE student( sid INT AUTO_INCREMENT, sname VARCHAR(10), s_cid INT, PRIMARY KEY(sid), FOREIGN KEY (s_cid) REFERENCES class(cid) );
//Insérer des données à tester
INSERT INTO student VALUES(NULL,'王大锤',2) INSERT INTO student VALUES(NULL,'胡汉三',3) //约束生效 插入失败
Les contraintes de clé étrangère prennent effet
Troisième méthode : utilisation de fk
CREATE TABLE student(sid INT AUTO_INCREMENT, sname VARCHAR(10) NOT NULL, s_cid INT , PRIMARY KEY(sid), CONSTRAINT fk_student_class FOREIGN KEY(s_cid) REFERENCES class(cid) );
Quatrième méthode : Ajouter des clés étrangères après avoir créé la table
INSERT INTO student VALUES(NULL,'王大锤',2) INSERT INTO student VALUES(NULL,'胡汉三',3) //约束生效 插入失败
//Ajouter des contraintes de clé étrangère :
CREATE TABLE student(sid INT AUTO_INCREMENT, sname VARCHAR(10) NOT NULL, s_cid INT , PRIMARY KEY(sid) );
//Test
ALTER TABLE student ADD FOREIGN KEY (s_cid) REFERENCES class(cid);
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!