如何将MySQL列从long重命名为其他内容

时间:2010-11-22 09:24:52

标签: mysql

我有一个数据库表,列名为'long'。它是MySQL的关键字,不确定它是否是关键字冲突或其他什么,我无法使用此关键字列名运行某些简单的SQL脚本。我尝试运行SQL来改变列名,使用:alter table mytable change column long lng double但它不起作用。

问题是,阻止上述简单的alter SQL工作的原因是什么? (对于现有的任何其他列,上面的SQL都有效),如果它是关键字冲突的原因,我该如何使它工作?我可以在MySQL中使用任何关键字转义符号吗?

非常感谢。

3 个答案:

答案 0 :(得分:3)

尝试:

ALTER TABLE mytable CHANGE COLUMN `long` lng DOUBLE

(反击是AFAIK,特定于MySQL。)

  

标识符可以引用或不引用。如果标识符包含特殊字符或是保留字,那么只要您引用它,就必须引用它。 ...标识符引号字符是反引号(“`”)(source

答案 1 :(得分:1)

尝试在“长”

周围使用“正确的引用”

像这样:

`long`

答案 2 :(得分:1)

再次尝试查询正常工作alter table table_name更改列long lng double但其必要的long数据类型应该是整数然后尝试可能是你的问题解决了