【发布时间】:2016-10-02 10:24:35
【问题描述】:
我正在使用 groupName 从 Table2 的 Table1(propType) 上创建 FOREIGN KEY。但我面临以下错误。 选定的列没有兼容的类型,即使它在 mysql 中具有相同的类型
表 1:
CREATE TABLE `configuration_master` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`insertTimestamp` datetime DEFAULT NULL,
`propName` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`propValue` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`propType` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
`IsCloudSupport` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
`DisplayName` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
`updateTimestamp` datetime DEFAULT NULL,
`userId` bigint(20) DEFAULT NULL,
`SYNCCOL1` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL2` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL3` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL4` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL5` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL6` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL7` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL8` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL9` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`SYNCCOL10` varchar(255) COLLATE utf8_unicode_ci DEFAULT NULL,
`prptyp` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `propName` (`propName`),
KEY `FKB54491EB8E326E43` (`userId`),
KEY `proptype_frn_idx` (`propType`),
KEY `ASD_idx` (`prptyp`),
CONSTRAINT `FKB54491EB8E326E43` FOREIGN KEY (`userId`) REFERENCES `user_master` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=86 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
表2:
CREATE TABLE `config_group` (
`groupName` varchar(45) CHARACTER SET utf8 NOT NULL,
`prop1` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`prop2` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`prop3` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`prop4` varchar(200) COLLATE utf8_unicode_ci DEFAULT NULL,
`ADS` int(11) DEFAULT NULL,
`config_groupcol` varchar(45) COLLATE utf8_unicode_ci DEFAULT NULL,
PRIMARY KEY (`groupName`),
UNIQUE KEY `config_groupcol_UNIQUE` (`config_groupcol`),
UNIQUE KEY `ADS_UNIQUE` (`ADS`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
我正在创建 FOREIGN KEY 如下
ALTER TABLE `konysyncconsoledb7214dev`.`configuration_master`
ADD CONSTRAINT `FK_configGrop`
FOREIGN KEY (`propType`)
REFERENCES `konysyncconsoledb7214dev`.`config_group` (`groupName`)
【问题讨论】:
-
不要忘记支持、反对、接受适当的答案。这是我们的反馈,并鼓励我们帮助下一个人。
标签: mysql sql database foreign-keys