如何更改具有#(哈希)符号的MySQL列名称

时间:2016-04-28 08:08:46

标签: mysql

我有一个表,它的一些列有一个#符号,例如让我们将表命名为Students,我们有一些列如下:

年级#Final#考试双

计数#Absent int(11)

等...

我想重命名列以删除#,我尝试了这些变体但没有成功:

alter table学生更改成绩#Final#Exam GradeFinalExam double;

alter table学生更改'Grade#Final#Exam'LevelFinalExam double;

alter table学生更改'Grade \ #Final \ #Exam'LevelFinalExam double;

我该怎么做?还有一种更快的方法是从每个列中删除'#'而不必逐个手动重命名它们吗? (该表有许多列和不同的数据类型,这使得重命名过程很难实现自动化)

4 个答案:

答案 0 :(得分:1)

使用反引号:

CREATE TABLE test (`Grade#Final#Exam` DOUBLE);

DESCRIBE test;

ALTER TABLE test CHANGE `Grade#Final#Exam` GradeFinalExam DOUBLE;

DESCRIBE test;

此致

詹姆斯

答案 1 :(得分:0)

ALTER TABLE `Students` CHANGE `Grade#Final#Exam` `GradeFinalExam` DOUBLE;

答案 2 :(得分:0)

在MySQL中重命名列的一般语法是ALTER TABLE "name of table" CHANGE "name of old column" "name of new column" "Datatype";

尝试使用反引号来转义列名,而不是使用单引号

答案 3 :(得分:0)

在列名称周围使用引号:

ALTER TABLE学生更改'成​​绩#Final#Exam'DOUBLE;