我有一个数据库(有些)的表(exp)有800多个记录,我想将列的名称从“ 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;