La façon d'utiliser le mot-clé "références" dans MySQL?
Comment est la references
mot-clé utilisé lors de la création d'une table?
Disons que je veux créer deux tables person
et hobby
et je veux le hobby de la table id pour faire référence à l'id de la personne?
person table
- id
- name
hobby
- id
- person_id
- hobby_name
Comment dois-je faire?
- À noter, une ligne FK (
HobbyID INT REFERENCES Hobbies(ID)
) ne fonctionne PAS. Il a été récemment rapporté qu'un bug (bugs.mysql.com/bug.php?id=4919), donc je suis sûr qu'ils vont prendre soin de lui bientôt.
Vous devez vous connecter pour publier un commentaire.
Créer le hobby de la table de façon similaire à ce:
Voici un exemple directement à partir de site web de MySQL:
Les références de mot-clé est utilisé pour définir la table et de la colonne est utilisée dans une relation de clé étrangère. Cela signifie qu'un enregistrement dans le hobby table doit avoir une person_id qui existe dans la table personne ou d'autre au moment de l'insertion, vous recevrez un message d'erreur que la clé n'existe pas.
Pour répondre à votre question ci-dessus à propos de ce "on DELETE CASCADE", il vous permet de supprimer un parent enregistrement de la clé (en personne) et ses enfants les dossiers (en hobby) sans avoir à la supprimer tous les enfants les enregistrements.
De préciser, si vous avez des enfants enregistrements attaché à une clé primaire à l'entrée et vous tentez de supprimer la clé primaire d'entrée comme:
sans avoir à la SUPPRIMER en CASCADE, vous recevez un message d'erreur si tous les enregistrements dans la passion avait person_id est de 1. Vous avez supprimer tous les enregistrements d'abord avant de faire le supprimer au-dessus. Avec DELETE CASCADE utilisé, la suppression de réussir et de supprimer automatiquement tout et de tous les enregistrements de la table hobby table liée à la person_id être supprimé à partir de la clé primaire de la table.
Mot-clé de référence est utilisé que de savoir où la clé étrangère a venir.
Cela signifie que ce qui est le nom de la table et quel est le nom de cette de cette table.
Je dis que c'est correct :
Alors, regardez cette ligne :
La CLÉ ÉTRANGÈRE(person_id) les RÉFÉRENCES de la personne(person_id));
Ici person_id est la clé étrangère et il est arrivé de la table personne et, dans ce tableau, c'est le nom est person_id...
C'est tout.
Voici un exemple de comment vous pouvez l'utiliser.
Pour ce qu'il signifie,
references
nous permet de spécifier la cible colonne de la table à laquelle une clé étrangère qui fait référence.