为表ID失败添加自动增量和唯一

时间:2018-11-24 18:25:04

标签: mysql xampp mariadb mysql-workbench

我正在使用mysql工作台来更改表,而我以前从未遇到过麻烦。我试图将我的表更改为具有自动递增的唯一表ID。我从错误屏幕中获得了以下信息:

Operation failed: There was an error while applying the SQL script to the database.
Executing:
ALTER TABLE `madewix5_lindsey_website_data`.`products` 
CHANGE COLUMN `product_id` `product_id` INT(3) NOT NULL AUTO_INCREMENT ,
ADD UNIQUE INDEX `product_id_UNIQUE` (`product_id` ASC) VISIBLE;
;

ERROR 1064: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 3
SQL Statement:
ALTER TABLE `madewix5_lindsey_website_data`.`products` 
CHANGE COLUMN `product_id` `product_id` INT(3) NOT NULL AUTO_INCREMENT ,
ADD UNIQUE INDEX `product_id_UNIQUE` (`product_id` ASC) VISIBLE

在语法上对我来说看起来不错,所以我不确定为什么会说有问题。表中只有一行数据。

编辑 根据{{​​1}},我的xampp服务器当前正在使用版本mysql --version,因此注释中建议的重复项可能不适用。

1 个答案:

答案 0 :(得分:0)

根据评论中的帮助,已经给出了其他答案的建议,但是为了澄清在最新的XAMPP服务器及其Maria-DB软件上的最新情况,“可见”一词可能没有目前受到支持。删除“可见”的工作使脚本可以运行,并将唯一和自动增量属性添加到主键。

ALTER TABLE `madewix5_lindsey_website_data`.`products` 
CHANGE COLUMN `product_id` `product_id` INT(3) NOT NULL AUTO_INCREMENT ,
ADD UNIQUE INDEX `product_id_UNIQUE` (`product_id` ASC);