【发布时间】:2019-11-18 00:03:21
【问题描述】:
我有两张桌子。
CREATE TABLE `languages` (
`language_id` tinyint(1) unsigned NOT NULL AUTO_INCREMENT,
`language_abbrv` char(2) NOT NULL,
`language_english` varchar(45) NOT NULL,
`language_local` varchar(45) NOT NULL,
PRIMARY KEY (`language_id`),
UNIQUE KEY `language_id_UNIQUE` (`language_id`),
UNIQUE KEY `language_abbrv_UNIQUE` (`language_abbrv`),
UNIQUE KEY `language_name_UNIQUE` (`language_english`),
UNIQUE KEY `language_local_UNIQUE` (`language_local`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;
CREATE TABLE `layouts` (
`layout_id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
`platform_id` tinyint(3) unsigned NOT NULL,
`language_id` tinyint(1) unsigned NOT NULL,
`layout_name` varchar(45) NOT NULL,
PRIMARY KEY (`layout_id`),
UNIQUE KEY `layout_id_UNIQUE` (`layout_id`),
KEY `idx_layouts_platform_id` (`platform_id`),
CONSTRAINT `fk_layouts_platform_id` FOREIGN KEY (`platform_id`) REFERENCES `platforms` (`platform_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB AUTO_INCREMENT=12 DEFAULT CHARSET=utf8;
当我尝试在“布局”上创建引用“语言 ID”列上“语言”的外键时,我不断收到“错误 1005:无法创建表(错误号:150)”错误。我看不出问题出在哪里,错误并没有告诉我太多。我在这里做错了什么?
【问题讨论】:
-
请分享你的
platform建表脚本 -
当我尝试在“布局”上创建外键时,引用“language_id”列上的“语言”:您的脚本实际上并没有尝试这样做。请向我们展示您的尝试。
标签: mysql foreign-keys