Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MYSQL中,将主键列添加到现有表时,出现错误1795(hy000)_Mysql_Primary Key_Full Text Indexing - Fatal编程技术网

在MYSQL中,将主键列添加到现有表时,出现错误1795(hy000)

在MYSQL中,将主键列添加到现有表时,出现错误1795(hy000),mysql,primary-key,full-text-indexing,Mysql,Primary Key,Full Text Indexing,我是这个平台的新手,所以如果我犯了任何错误,请原谅我 在MYSQL 8.0中,我尝试使用以下命令添加主键: ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY; 错误1795(HY000):InnoDB目前支持一次创建一个全文索引 解决办法是什么 我试过这个 ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT

我是这个平台的新手,所以如果我犯了任何错误,请原谅我

在MYSQL 8.0中,我尝试使用以下命令添加主键:

ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;
错误1795(HY000):InnoDB目前支持一次创建一个全文索引

解决办法是什么

我试过这个

ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ALGORITHM=COPY;
但是得到了以下错误

错误1264(22003):第167行“columns”列的值超出范围

这是我现有的桌子

CREATE TABLE `TELECOM_NUMBER` (
  `CONTACT_MECH_ID` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,
  `COUNTRY_CODE` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `MOBILE_NUMBER` varchar(20) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `AREA_CODE` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `CONTACT_NUMBER` varchar(60) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `ASK_FOR_NAME` varchar(100) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
  `LAST_UPDATED_STAMP` datetime DEFAULT NULL,
  `LAST_UPDATED_TX_STAMP` datetime DEFAULT NULL,
  `CREATED_STAMP` datetime DEFAULT NULL,
  `CREATED_TX_STAMP` datetime DEFAULT NULL,
  KEY `INX_TELECOM` (`CONTACT_MECH_ID`),
  FULLTEXT KEY `TELECOM_NUMBER_FT` (`CONTACT_NUMBER`),
  FULLTEXT KEY `TELECOM_NUMBER_FTS` (`CONTACT_NUMBER`,`MOBILE_NUMBER`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci 
更新: 这个解决方案有效,但仍在测试一切正常


更改存储引擎。

尝试在自动递增之前写入主键,如下所示:

ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT;

您需要先添加列,然后使用
addconstraint
命令添加约束。按如下方式操作:-

1)
ALTER TABLE TELECOM\u NUMBER ADD pk\u id BIGINT UNSIGNED NOT NULL AUTO\u INCREMENT

2)
ALTER TABLE TELECOM\u NUMBER ADD CONSTRAINT primary\u key\u CONSTRAINT\u name primary key(主键id)


希望能有所帮助。

您看到了吗?此答案是错误1075(42000):表定义不正确;只能有一个自动列,必须将其定义为键