在mysql中重命名列(失败)



我有一个数据库(一些(,其中有一个超过800条记录的表(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;

最新更新