我是新来这个平台,所以如果我犯任何错误见谅。
在MySQL 8.0中,我将尝试使用下面的命令来添加主键,
ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY;
ERROR 1795(HY000):InnoDB的目前支持每次一个FULLTEXT索引创建
这可能是解决方案
我曾经尝试这样做
ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, ALGORITHM=COPY;
但有以下错误
ERROR 1264(22003):在167排出来的列“列”范围的值的
这是我现有的表
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
更新:这个解决方案的工作,但仍处于测试阶段,一切都很好。
https://stackoverflow.com/a/43820504/10862513
改变存储引擎。
尝试AUTO_INCREMENT像下面前写的主键:
ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT;
首先,您需要添加列,然后使用ADD CONSTRAINT
命令添加约束。做到这一点如下: -
1)ALTER TABLE TELECOM_NUMBER ADD pk_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT;
2)ALTER TABLE TELECOM_NUMBER ADD CONSTRAINT primary_key_constraint_name PRIMARY KEY (pk_id);
希望能帮助到你。