如何解决外键约束的格式不正确,但是为什么呢?
我对外键约束有一个错误,但是我不知道是什么原因...
当我键入
CREATE TABLE `int_gtpro`.utilisateur_formation
(
id VARCHAR(36),nom_user VARCHAR(35),id_formation VARCHAR(36),PRIMARY KEY (`id`),FOREIGN KEY (`nom_user`) REFERENCES `int_gtpro`.`utilisateur`(`nom_user`),FOREIGN KEY (`id_formation`) REFERENCES `int_gtpro`.`formation`(`id`)
);
我有
错误代码:1005 无法创建表
int_gtpro
。utilisateur_formation
(错误号:150“外键约束格式不正确”)
当我输入:show create table utilisateur
CREATE TABLE `utilisateur` (
`nom_user` varchar(35) NOT NULL,`date_creation` datetime DEFAULT NULL,`date_modification` datetime DEFAULT NULL,`user_modification` varchar(35) DEFAULT NULL,`nom` varchar(50) NOT NULL,`prenom` varchar(50) DEFAULT NULL,`email` varchar(50) DEFAULT NULL,`actif` int(11) DEFAULT NULL,`nb_jour_modif` int(11) DEFAULT 0,`text_police` varchar(50) DEFAULT 'System',`text_size` int(11) DEFAULT 0,`passwd` varchar(32) NOT NULL,`date_passwd` datetime NOT NULL,`mode_debug` int(11) DEFAULT 0,`telephone_fixe` varchar(20) DEFAULT NULL,`telephone_mobile` varchar(20) DEFAULT NULL,`nb_essai_mtc` int(11) DEFAULT NULL,`telephone_ip` varchar(20) DEFAULT NULL,`photo` varchar(150) DEFAULT NULL,`code_type_affichable` varchar(6) DEFAULT NULL,`code_partenaire` varchar(3) DEFAULT NULL,`indicatif_tel` varchar(5) DEFAULT NULL,`debug_autorise` tinyint(1) DEFAULT 0,PRIMARY KEY (`nom_user`),UNIQUE KEY `U_utilisateur_nom_user` (`nom_user`),KEY `FK_utilisateur_code_type_affichable_type_affichable_code` (`code_type_affichable`),CONSTRAINT `FK_utilisateur_code_type_affichable_type_affichable_code` FOREIGN KEY (`code_type_affichable`) REFERENCES `type_affichable` (`code`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
当我输入:show create table formation
我有这个:
CREATE TABLE `formation` (
`id` varchar(36) COLLATE utf8_unicode_ci NOT NULL,`libelle` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,`date_debut` datetime DEFAULT NULL,`date_fin` datetime DEFAULT NULL,`zone_geographique` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,`auteur` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,`actif` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
那么,怎么了?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。