Maison > base de données > tutoriel mysql > Comment créer des relations entre les tables MySQL en utilisant des contraintes de clés étrangères?

Comment créer des relations entre les tables MySQL en utilisant des contraintes de clés étrangères?

Linda Hamilton
Libérer: 2025-01-24 14:42:39
original
764 Les gens l'ont consulté

How to Create Relationships Between MySQL Tables Using FOREIGN KEY Constraints?

Maîtriser les relations MySQL avec les contraintes FOREIGN KEY

MySQL, l'un des principaux systèmes de gestion de bases de données relationnelles (SGBDR), s'appuie fortement sur l'établissement de relations entre les tables pour une gestion efficace des données. Cet article se concentre sur la création de relations, en reliant spécifiquement les tables accounts et customers, en attribuant chaque compte à un client unique.

La pierre angulaire de ce processus est la contrainte FOREIGN KEY. Illustrons comment implémenter cela dans MySQL :

<code class="language-sql">CREATE TABLE accounts (
    account_id INT NOT NULL AUTO_INCREMENT,
    customer_id INT(4) NOT NULL,
    account_type ENUM('savings', 'credit') NOT NULL,
    balance FLOAT(9) NOT NULL,
    PRIMARY KEY (account_id),
    FOREIGN KEY (customer_id) REFERENCES customers(customer_id)
) ENGINE=INNODB;</code>
Copier après la connexion

La ligne clé, FOREIGN KEY (customer_id) REFERENCES customers(customer_id), définit la relation. Il stipule que le customer_id dans le tableau accounts doit correspondre à un customer_id valide dans le tableau customers.

Cette contrainte maintient l'intégrité référentielle, garantissant l'exactitude et la cohérence des données. Il empêche la création d'enregistrements « orphelins » (comptes sans clients correspondants) et maintient les relations entre les données.

Considération importante : Le moteur MyISAM de MySQL ne prend pas en charge FOREIGN KEY. Pour les tables MyISAM, des méthodes alternatives telles que les déclencheurs sont nécessaires pour imiter la fonctionnalité FOREIGN KEY.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal