romca
Messages postés48Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention19 avril 2010
-
19 mai 2006 à 17:39
cs_Seb33300
Messages postés84Date d'inscriptionmardi 20 septembre 2005StatutMembreDernière intervention 7 février 2010
-
24 juil. 2006 à 14:37
Salut voilà j'ai un pbm sous ma distrib mes foreign key ne sont pas pris en compte et pourtant j'ai aucune erreur.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /?>
1er: D'apres l'exemple ci dessous des tables: J'ai mis les deux tables ci dessous dans ma BDD sans déclarer le type de table:
je les transforme ensuite en Innodb au lieu de MySAM mais quand je fais un export de la table à partir de chez moi les foreign n'apparaissemt plus?
2eme: Quand je crée les tables en mettant directement le type avec le type=innodb impossible de les créer, en mettant type=MyISAM c'est ok. Ce que je comprend pas c'est quand je met des foreign key quand même avec le type MyISAM j'ai aucune ereur?
Pourtant j'ai <?xml:namespace prefix st1 ns "urn:schemas-microsoft-com:office:smarttags" /?><st1:personname w:st="on" productid="la version MySQL">la version MySQL</st1:personname> max qui gère les relations et j'avais même avant MySQL 4.0.2 (sous mandrake 10.1) qui faisait apparemment pareil mais qui normalement gère les clefs étrangères puisqu'elles acceptent les types Inoodb? Y'a t il une option a validé.
Merci.
Ce que j'obtiens en deuxième image plus bas.
create table users (
id_user SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
lastname VARCHAR(50),
firstname VARCHAR(50),
login VARCHAR(20),
pwd VARCHAR(20),
email VARCHAR(50),
group_id SMALLINT UNSIGNED NOT NULL,
service SMALLINT UNSIGNED NOT NULL,
PRIMARY KEY (id_user),
INDEX(group_id),
INDEX(service)
);
#Création de la table services
create table services (
id_serv SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
name_serv VARCHAR(20),
manager SMALLINT UNSIGNED,
PRIMARY KEY (id_serv),
FOREIGN KEY (manager) REFERENCES users(id_user) ON UPDATE CASCADE ON DELETE SET NULL,
INDEX(manager)
);