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










Répondre à