SQL ALTER TABLE ADD PRIMARY KEY error1064

k.p*_*p.h 5 mysql sql database wordpress

出于某种原因,我的sql脚本在添加主键语句时失败.我想知道是否有人能解释原因?

这是表格陈述.

CREATE TABLE IF NOT EXISTS `wp_bwg_album` (
  `id` bigint(20) NOT NULL,
  `name` varchar(255) NOT NULL,
  `slug` varchar(255) NOT NULL,
  `description` mediumtext NOT NULL,
  `preview_image` mediumtext NOT NULL,
  `random_preview_image` mediumtext NOT NULL,
  `order` bigint(20) NOT NULL,
  `author` bigint(20) NOT NULL,
  `published` tinyint(1) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Run Code Online (Sandbox Code Playgroud)

这是它失败的讽刺 -

ALTER TABLE `wp_bwg_album`
  ADD PRIMARY KEY (`id`);
Run Code Online (Sandbox Code Playgroud)

该表的最后一个陈述也与该表有关.

ALTER TABLE `wp_bwg_album`
MODIFY `id` bigint(20) NOT NULL AUTO_INCREMENT;
Run Code Online (Sandbox Code Playgroud)

我很困惑,问题是,SQL是来自我的实时服务器的转储.我只是在家里更新我的开发服务器.使用MySql工作台我得到标准的1064错误.

16:58:40 ADD PRIMARY KEY(id)错误代码:1064.您的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便id在第1行0.000秒的'ADD PRIMARY KEY()' 附近使用正确的语法

任何帮助,将不胜感激.

小智 1

尝试这个:

ALTER TABLE `wp_bwg_album`
    ADD CONSTRAINT `pk_wp_bwg_album` PRIMARY KEY (`id`);
Run Code Online (Sandbox Code Playgroud)

约束名称可以是任何人。