【发布时间】:2010-11-17 13:01:18
【问题描述】:
我有这个 sql 子句:
CREATE TABLE IF NOT EXISTS `culture` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`code` char(6) NOT NULL DEFAULT 'it',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=11 ;
CREATE TABLE IF NOT EXISTS `nations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`culture_id` int(11) NOT NULL,
`iso_code_2` char(2) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `nations_FI_1` (`culture_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=245 ;
CREATE TABLE IF NOT EXISTS `sedi` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`nome` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;
CREATE TABLE IF NOT EXISTS `sedi_i18n` (
`id` int(11) NOT NULL,
`culture` char(6) NOT NULL,
`nation` char(2) NOT NULL,
`indirizzo` text NOT NULL,
PRIMARY KEY (`id`,`culture`),
KEY `sedi_i18n_FI_2` (`culture`),
KEY `sedi_i18n_FI_3` (`nation`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `sedi_i18n`
ADD CONSTRAINT `sedi_i18n_FK_1` FOREIGN KEY (`id`) REFERENCES `sedi` (`id`) ON DELETE CASCADE,
ADD CONSTRAINT `sedi_i18n_FK_2` FOREIGN KEY (`culture`) REFERENCES `culture` (`code`),
ADD CONSTRAINT `sedi_i18n_FK_3` FOREIGN KEY (`nation`) REFERENCES `nations` (`iso_code_2`);
但我遇到了这个错误:
查询 SQL 错误:
改变表
sedi_i18n添加 约束sedi_i18n_FK_1外国 关键(id)参考sedi(id) 删除级联,添加 约束sedi_i18n_FK_2外国 关键(culture)参考culture(code),添加约束sedi_i18n_FK_3外键 (nation) 参考资料nations(iso_code_2);MySQL 消息:
1005 - 无法创建表 'test_javier_4.#sql-528_aed' (errno: 150)
有什么想法吗?
问候
贾维
【问题讨论】:
标签: mysql sql mysql-error-1005