Maison >base de données >tutoriel mysql >Comment supprimer la relation de clé étrangère dans MySQL

Comment supprimer la relation de clé étrangère dans MySQL

青灯夜游
青灯夜游original
2022-07-01 20:01:2010376parcourir

Dans MySQL, vous pouvez utiliser l'instruction ALTER TABLE avec le mot-clé DROP pour supprimer les relations de clé étrangère (contraintes). La syntaxe est "ALTER TABLE nom de la table de données DROP FOREIGN KEY nom de contrainte de clé étrangère ;" ; est utilisé pour modifier la table (Changement de la structure de la table d'origine), et après avoir ajouté l'instruction "DROP FOREIGN KEY", la fonction de modification se limite à supprimer les relations de clé étrangère (contraintes).

Comment supprimer la relation de clé étrangère dans MySQL

L'environnement d'exploitation de ce tutoriel : système windows7, version mysql8, ordinateur Dell G3.

La relation de clé étrangère (contrainte de clé étrangère) est un champ spécial de la table, souvent utilisé avec les contraintes de clé primaire. Pour deux tables avec une relation associée, la table où se trouve la clé primaire du champ associé est la table primaire (table parent) et la table où se trouve la clé étrangère est la table secondaire (table enfant).

Les clés étrangères sont utilisées pour établir la relation entre la table maître et la table esclave, établir une connexion pour les données des deux tables et contraindre la cohérence et l'intégrité des données dans les deux tables. Par exemple, un étal de fruits ne propose que quatre sortes de fruits : des pommes, des pêches, des prunes et des pastèques. Ensuite, lorsque vous venez à l'étal de fruits pour acheter des fruits, vous ne pouvez choisir que des pommes, des pêches, des prunes et des pastèques, et vous. je ne peux pas acheter d’autres fruits.

Lorsqu'un enregistrement est supprimé de la table principale, l'enregistrement correspondant de la table doit également être modifié en conséquence. Une table peut avoir une ou plusieurs clés étrangères, et la clé étrangère peut être nulle. Si elle n'est pas nulle, la valeur de chaque clé étrangère doit être égale à une certaine valeur de la clé primaire de la table principale.

Lorsqu'une contrainte de clé étrangère n'est plus nécessaire dans une table, elle doit être supprimée de la table. Une fois la clé étrangère supprimée, l'association entre la table maître et la table esclave sera libérée.

Alors comment supprimer les relations de clés étrangères (contraintes) dans MySQL ?

Dans MySQL, vous pouvez utiliser l'instruction ALTER TABLE avec le mot-clé DROP pour supprimer les relations de clé étrangère (contraintes).

Le format de syntaxe pour supprimer les contraintes de clé étrangère est le suivant :

ALTER TABLE 数据表名 DROP FOREIGN KEY 外键约束名;
  • L'instruction ALTER TABLE est utilisée pour modifier la structure de la table d'origine, comme l'ajout ou la suppression de colonnes, la modification du type de colonne d'origine, le renommage de colonnes ou de tables. , etc. L'instruction ReDrop Foreign Key est utilisée pour supprimer la relation de clé externe :

  • Utilisez les instructions suivantes pour afficher les contraintes de clé externe de la table de données tb_emp2 Contrainte de clé fk_tb_dept1

    SHOW CREATE TABLE tb_emp2\G
    mysql> SHOW CREATE TABLE tb_emp2\G
    *************************** 1. row ***************************
           Table: tb_emp2
    Create Table: CREATE TABLE `tb_emp2` (
      `id` int(11) NOT NULL,
      `name` varchar(30) DEFAULT NULL,
      `deptId` int(11) DEFAULT NULL,
      `salary` float DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `fk_tb_dept1` (`deptId`),
      CONSTRAINT `fk_tb_dept1` FOREIGN KEY (`deptId`) REFERENCES `tb_dept1` (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gb2312
    1 row in set (0.12 sec)

【Recommandation associée :

tutoriel vidéo MySQL

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn