执行ALTER TABLE添加列时遇ORA-00904: invalid identifier错误求助
解决ORA-00904错误:向Oracle的building表添加description列
修正后的SQL语句有两种可行写法:
写法1(单列快速添加):ALTER TABLE building ADD description VARCHAR2(255) NOT NULL;写法2(推荐,支持批量添加多列):
ALTER TABLE building ADD (description VARCHAR2(255) NOT NULL);错误根源:
Oracle的ALTER TABLE ADD语法不支持COLUMN关键字,虽然MySQL等数据库允许ADD COLUMN的写法,但Oracle解析器会将其识别为无效语法,从而触发ORA-00904错误。另外建议使用VARCHAR2而非VARCHAR作为字符串类型——这是Oracle官方推荐的标准类型,VARCHAR仅为兼容同义词,未来版本可能存在行为变更。额外排查点:
若修正语句后仍报错,需确认:building表确实存在于当前用户的schema中,必要时可在表名前指定schema前缀(如ALTER TABLE your_schema.building ...)- 语句中无不可见特殊字符(可将语句复制到纯文本编辑器清理后重新执行)
内容的提问来源于stack exchange,提问作者Chris H Edmond
相关产品推荐
相关产品推荐

