在尝试修改 DATETIME 类型的列时,生成的 SQL 语句包含不必要的 CHARACTER SET 和 COLLATE 属性,导致语法错误。以下是相关的 SQL 语句和错误信息:
ALTER TABLE `fc_sku_price`
CHANGE `add_time` `add_time` datetime CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建时间' ;
但是这样会导致报错,问了AI是因为CHANGE 子句包含了不必要的 CHARACTER SET 和 COLLATE,这些属性不适用于 DATETIME 类型的列。正确的语法应该去掉这些属性。
错误信息:
2024-08-04 10:27:15 [ERROR] Execute fail : ALTER TABLE `fc_sku_price`
CHANGE `add_time` `add_time` datetime CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建时间' ;
2024-08-04 10:27:15 [ERROR] You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '创建时间'' at line 2
以下是修正后的 SQL 语句:
ALTER TABLE `fc_sku_price`
CHANGE `add_time` `add_time` DATETIME NOT NULL COMMENT '创建时间';
在尝试修改 DATETIME 类型的列时,生成的 SQL 语句包含不必要的 CHARACTER SET 和 COLLATE 属性,导致语法错误。以下是相关的 SQL 语句和错误信息:
但是这样会导致报错,问了AI是因为CHANGE 子句包含了不必要的 CHARACTER SET 和 COLLATE,这些属性不适用于 DATETIME 类型的列。正确的语法应该去掉这些属性。
错误信息:
以下是修正后的 SQL 语句:
改完就能执行了