Magento#1005 - 无法创建表'...'(错误号:121)错误

时间:2013-11-14 14:19:14

标签: mysql magento

我的magento网站出现问题,现在网站已关闭。但我有我的数据库备份。但是当我导入数据库时​​,它给了我这个错误:

#1005 - Can't create table '' (errno: 121);

此查询:

ALTER TABLE `admin_rule` ADD CONSTRAINT FK_ADMIN_RULE_ROLE_ID_ADMIN_ROLE_ROLE_ID` FOREIGN KEY (`role_id`) REFERENCES `admin_role` (`role_id`) ON DELETE CASCADE ON UPDATE CASCADE;

所有alter命令都会出现此错误。这是我向你展示的一个例子 这是admin_rule的表结构

CREATE TABLE IF NOT EXISTS `admin_rule` (
`rule_id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Rule ID',
`role_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Role ID',
`resource_id` varchar(255) NOT NULL COMMENT 'Resource ID',
  `privileges` varchar(20) DEFAULT NULL COMMENT 'Privileges',
  `assert_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT 'Assert ID',
  `role_type` varchar(1) DEFAULT NULL COMMENT 'Role Type',
  `permission` varchar(10) DEFAULT NULL COMMENT 'Permission',
  PRIMARY KEY (`rule_id`),
  KEY `IDX_ADMIN_RULE_RESOURCE_ID_ROLE_ID` (`resource_id`,`role_id`),
  KEY `IDX_ADMIN_RULE_ROLE_ID_RESOURCE_ID` (`role_id`,`resource_id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='Admin Rule Table' AUTO_INCREMENT=2 ;

1 个答案:

答案 0 :(得分:0)

确保表admin_role存在并且有一个名为role_id的列是该表的主键,并且与role_id中的admin_rule具有相同的确切类型

我在sqlfiddle中创建它并且它可以工作:

sqlfiddle demo