mysql中的重命名列(失败)

问题描述 投票:0回答:1

我有一个数据库(有些)的表(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 sql ddl alter
1个回答
0
投票

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

例如:

ALTER TABLE exp RENAME COLUMN `Nr._CRT` TO id;
© www.soinside.com 2019 - 2024. All rights reserved.