1

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

#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 ;
4

1 回答 1

0

确保该表admin_role 存在并且有一个名为的列,该列role_id是该表上的主键,并且具有role_idadmin_rule

我在 sqlfiddle 中创建了它,它可以工作:

sqlfiddle demo

于 2013-11-14T14:27:07.040 回答