尝试将网站数据库导入另一台服务器时,我不断收到此错误。
错误:
Error at the line 3034: ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Website Index Table';
查询:
CREATE TABLE `catalog_product_index_website` (
`website_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Website ID',
`website_date` date DEFAULT NULL COMMENT 'Website Date',
`rate` float DEFAULT '1' COMMENT 'Rate',
PRIMARY KEY (`website_id`),
KEY `IDX_CATALOG_PRODUCT_INDEX_WEBSITE_WEBSITE_DATE` (`website_date`),
CONSTRAINT `FK_CAT_PRD_IDX_WS_WS_ID_CORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Website Index Table'
MySQL: Can't create table './myhairdev/catalog_product_index_website.frm' (errno: 150)
我尝试在开头添加 SET FOREIGN_KEY_CHECKS=0;
和 SET FOREIGN_KEY_CHECKS=1;最后但仍然遇到相同的错误。
这是相关数据库行中的代码:
DROP TABLE IF EXISTS `catalog_product_index_website`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `catalog_product_index_website` (
`website_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT 'Website ID',
`website_date` date DEFAULT NULL COMMENT 'Website Date',
`rate` float DEFAULT '1' COMMENT 'Rate',
PRIMARY KEY (`website_id`),
KEY `IDX_CATALOG_PRODUCT_INDEX_WEBSITE_WEBSITE_DATE` (`website_date`),
CONSTRAINT `FK_CAT_PRD_IDX_WS_WS_ID_CORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Catalog Product Website Index Table';
/*!40101 SET character_set_client = @saved_cs_client */;
请帮助帮助:)
最佳答案
你必须删除约束
CONSTRAINT `FK_CAT_PRD_IDX_WS_WS_ID_CORE_WS_WS_ID` FOREIGN KEY (`website_id`) REFERENCES `core_website` (`website_id`) ON DELETE CASCADE ON UPDATE CASCADE
并在创建所有表、主键和索引时将其添加到末尾。
就您的情况而言,您必须先创建表 core_website
并将 website_id
列声明为索引,然后再创建与此索引和此表相关的外键。
关于MySQL:无法创建表 './myhairdev/catalog_product_index_website.frm'(错误号:150),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18964594/