2016-04-28 7 views
0

私はテーブルを持っていますが、その列の中には#記号があります。例えば、テーブル名を教えてください:#(ハッシュ)記号を持つMySQLの列名を変更する方法

グレード#決勝#試験ダブル

カウント#の不在はint(11)

等...

私は#を削除するには、列の名前を変更したいが、私は成功せず、これらのバリエーションを試してみました:

alter table学生はGrade#Final#Exam GradeFinalExam doubleを変更します。

alter table学生は「Grade#Final#Exam」GradeFinalExam doubleを変更します。

alter table学生は 'Grade \ #Final \ #Exam' GradeFinalExam doubleを変更します。

どうすればいいですか?また、列ごとに「#」だけを削除するより高速な方法がありますが、手動で名前を変更する必要はありません。 MySQLで列の名前を変更するための一般的な構文はALTER TABLE "name of table" CHANGE "name of old column" "name of new column" "Datatype";

あるとカラム名をエスケープしてみ

+0

何を試しましたか?どのようなエラーがありましたか? – symcbean

答えて

1

使用バッククォート:

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

DESCRIBE test; 

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

DESCRIBE test; 

よろしく、

列名の周りの

ジェームズ

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

(表は難しい名前の変更のプロセスを自動化するために行い、多くの列と異なるデータ型を持っています)単一引用符とバッククォートない

0

使用引用符:

DOUBLE ALTER TABLE学生CHANGE 'グレード#決勝#試験';

関連する問題