向表中添加新列时出现语法错误。除此之外,每隔一列都添加正确:
ALTER TABLE stock.stock_data ADD LEGAL_&_GENERAL VARCHAR(40);
感谢您的帮助。
答案 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);