我正在使用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
,因此注释中建议的重复项可能不适用。
答案 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);