更改表时出现mysql语法错误

时间:2017-07-14 12:35:18

标签: mysql sql alter-table

向表中添加新列时出现语法错误。除此之外,每隔一列都添加正确:

ALTER TABLE stock.stock_data ADD LEGAL_&_GENERAL VARCHAR(40);

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

MySQL (as with all databases) limits the characters in unquoted identifiers

  

不带引号的标识符中允许的字符:

     

ASCII:[0-9,a-z,A-Z $ _](基本拉丁字母,数字0-9,美元,   下划线)

     

扩展:U + 0080 .. U + FFFF

请注意"&"不是其中之一。解决这个问题的首选方法是使用" normal"字符:

ALTER TABLE stock.stock_data ADD LEGAL_AND_GENERAL VARCHAR(40);

如果你真的想,你可以引用标识符:

 ALTER TABLE stock.stock_data ADD `LEGAL_&_GENERAL` VARCHAR(40);

但是,无论您在何处使用该列,都必须引用该名称,只会使您的查询混乱,并且会使用后退键。

答案 1 :(得分:1)

使用`来逃避&

ALTER TABLE stock.stock_data ADD `LEGAL_&_GENERAL` VARCHAR(40);

请参阅Identifier Qualifiers

相关问题