SQL错误wp_Commentmeta-不正确的表定义

时间:2015-07-13 作者:Andy

我正在尝试导入一个数据库,不知道如何才能停止出现以下错误?

“#1075-表定义不正确;只能有一个自动列,必须将其定义为键”

以下是使用PHPMyAdmin导入时的结果。

SQL查询:

--
-- Database: `db_factorypattern`
--

-- --------------------------------------------------------

--
-- Table structure for table `wp_commentmeta`
--

CREATE TABLE IF NOT EXISTS `wp_commentmeta` (
  `meta_id` bigint(20) unsigned NOT NULL auto_increment,
  `comment_id` bigint(20) unsigned NOT NULL default \'0\',
  `meta_key` varchar(255) default NULL,
  `meta_value` longtext
) ENGINE=MyISAM AUTO_INCREMENT=2610 DEFAULT CHARSET=utf8;
MySQL说:文档

“#1075-表定义不正确;只能有一个自动列,必须将其定义为键”

2 个回复
SO网友:s_ha_dum

我不知道你从哪里得到的出口代码,但我没有看到PRIMARY KEY 按其应定义。看看code from Core that creates the table:

87  CREATE TABLE $wpdb->commentmeta (
88    meta_id bigint(20) unsigned NOT NULL auto_increment,
89    comment_id bigint(20) unsigned NOT NULL default \'0\',
90    meta_key varchar(255) default NULL,
91    meta_value longtext,
92    PRIMARY KEY  (meta_id),
93    KEY comment_id (comment_id),
94    KEY meta_key (meta_key($max_index_length))
95  ) $charset_collate;
看看第92行。您的“create”语句中缺少该选项。

SO网友:Yunax Technologies

这项技术对我有用

单击数据库的“导出”选项卡

单击“自定义”单选按钮

进入标题为“格式特定选项”的部分,将下拉列表更改为“数据库系统或旧版MySQL服务器,以最大限度地提高与的输出兼容性:”从无到MYSQL40。

滚动至底部并单击“GO”。

我不确定这样做是否会导致任何数据丢失,但在我尝试过的一次中,我没有注意到任何数据丢失。也没有任何人在上述链接的论坛中作出回应。

结束