2013-11-14 54 views
1

我与我的magento网站存在问题,现在该网站已关闭。但我有我的数据库备份。但是当我导入数据库,它给了我这个错误:Magento#1005 - 无法创建表'...'(错误号:121)错误

#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 ; 
+0

这可能是你正在引用一个尚未创建的表。 – Mihai

+0

表存在Mihai – user2606912

回答

0

确认表admin_role存在,并且有一个名为role_id这是该表的主键列具有完全相同的类型role_idadmin_rule

我创造了它在sqlfiddle和它的作品:

sqlfiddle demo

+0

我已经安装了表并且也用主键检查了role_id ..在数据库备份文件的末尾有大约20-25个ALTER查询,它们完全没有执行,显示出相同的错误 – user2606912

+0

尝试做:'SET FOREIGN_KEY_CHECKS = 0;'在执行脚本之前。确保:'SET FOREIGN_KEY_CHECKS = 1;'之后。 –

+0

我没有得到你菲利普..你可以请详细说明你的答案,以便我可以尝试与你的解决方案.. – user2606912

相关问题