[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[SID] MySQL et FOREIGN KEY



Bonsoir,

Je suis en train de créer une base sous MySQL, et je cherche à utiliser
les clés étrangères.

Voici mon script SQL pour créer ma base:

create database Gcos;
 
use Gcos;
 
CREATE TABLE Cmd_gcos (
Num_Commande INT(255) NOT NULL AUTO_INCREMENT,
Nom_Commande VARCHAR(100) NOT NULL,
Description TEXT NOT NULL,
Nom_Type VARCHAR(30),
Nom_Periode VARCHAR(30),
PRIMARY KEY (Num_Commande),
CONSTRAINT Periode FOREIGN KEY (Nom_Periode) REFERENCES Periodicite
(Nom_Periode),
CONSTRAINT Type FOREIGN KEY (Nom_Type) REFERENCES Type (Nom_Type)
);
 
CREATE TABLE Periodicite (
Num_Periode INT(255) NOT NULL AUTO_INCREMENT,
Nom_Periode VARCHAR(30) NOT NULL,
PRIMARY KEY (Num_Periode)
);
 
CREATE TABLE Type (
Num_Type INT(255) NOT NULL AUTO_INCREMENT,
Nom_Type VARCHAR(30) NOT NULL,
PRIMARY KEY (Num_Type)
);

Quand je fais un DESCRIBE de la table Cmd_gcos:
mysql> desc Cmd_gcos ;
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| Num_Commande | int(255)     |      | PRI | NULL    | auto_increment |
| Nom_Commande | varchar(100) |      |     |         |                |
| Description  | text         |      |     |         |                |
| Nom_Type     | varchar(30)  | YES  |     | NULL    |                |
| Nom_Periode  | varchar(30)  | YES  |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

Je vois bien ma clé primaire mais pas ma clé étrangère dans la colonne
Key, est-ce normal ?

A mon avis oui car même quand je fais un dump avec mysqldump, il ne me
regénère pas les ordres de création de la foreign key.

Avez-vous le même problème ou est-ce que j'ai oublié quelque chose ?

Merci et encore désolé pour le HS.

Laurent












Reply to: