我有一个数据库表,其列名为'long‘。它是MySQL的关键字,不确定它是关键字冲突还是什么,我不能使用这个关键字-列名来运行一些简单的SQL脚本。我尝试运行SQL来修改列名,使用:alter table mytable change column long lng double,但不起作用。
问题是,阻止上述简单alter SQL工作的原因是什么?(对于手头上的任何其他列,上面的SQL都可以工作),如果它是关键字冲突的原因,我如何使其工作?有没有可以在MySQL中使用的关键字转义符号?
非常感谢。
发布于 2010-11-22 17:27:06
已尝试:
ALTER TABLE mytable CHANGE COLUMN `long` lng DOUBLE(反号是,AFAIK,特定于MySQL。)
标识符可以加引号或不加引号。如果标识符包含特殊字符或为保留字,则无论何时引用它,都必须将其引起来。..。标识符引号字符是反引号("`") (source)
发布于 2010-11-22 17:27:36
尝试在"long“前后使用”正确的引号“
如下所示:
`long`发布于 2010-11-22 17:56:38
重试查询正常工作alter table table_name change long lng double但必须将long的数据类型设置为integer然后尝试可能会解决您的问题
https://stackoverflow.com/questions/4243932
复制相似问题