重命名 mysql 中的列(失败)

Rename column in mysql (failed)

我有一个数据库(某些)有超过 800 条记录的 table (exp),我想将列的名称从 "Nr._CRT" 更改为 "ID",保持类型 smallint。 错误是:

ERROR 1064 (42000): 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 '._CRT to ID' at line 1

到目前为止我已经尝试了以下方法

    ALTER TABLE exp change Nr._CRT ID ;
    ALTER TABLE exp change 'Nr._CRT' 'ID' ;
    ALTER TABLE exp RENAME COLUMN Nr._CRT TO ID;
    ALTER TABLE exp RENAME COLUMN 'Nr._CRT' TO 'ID';
    ALTER TABLE exp CHANGE Nr._CRT ID ;
    ALTER TABLE exp CHANGE 'Nr._CRT' 'ID' ;
    ALTER TABLE exp RENAME COLUMN Nr._CRT TO ID;
    ALTER TABLE exp RENAME COLUMN 'Nr._CRT' TO 'ID';

任何帮助请...

您列表中的某些语句是有效的 MySQL 语法。问题是如何正确引用包含特殊字符的原始列名:您需要反引号而不是单引号(这是用于乱码字符串,而不是标识符)。

例如:

ALTER TABLE exp RENAME COLUMN `Nr._CRT` TO id;