SQL错误:ORA-00904:无效标识符

3

我是一个SQL新手,我希望在这个基础问题上得到一些帮助。

alter table OCEAN_ANTENNE_TEMP
add column ANT_TILT_M number(5) not null,
ANT_FSC_ANT number(4,1) default 0;
/

为什么这个查询会给我返回这个错误:
SQL错误:ORA-00904: : 无效标识符 00904. 00000 - "%s:无效标识符"

更新后的答案:在执行更改时,应使用非空(not null)默认值,否则会抛出异常! - vhadalgi
您不需要使用 ; /,详情请参考此处:https://dev59.com/sHNA5IYBdhLWcg3wIqLr。 - user330315
2个回答

2

正确的方法是

alter table OCEAN_ANTENNE_TEMP 
add ( ANT_TILT_M number(5) not null, 
ANT_FSC_ANT number(4,1) default 0);

2

错误报告: SQL错误:ORA-01758:必须清空表才能添加强制性(非空)列 01758. 00000 - "table must be empty to add mandatory (NOT NULL) column" - Steffi
3
错误信息已经很明显了——你不能向非空表中添加 NOT NULL 列(想想看,Oracle 应该如何填写这一列?)。你应该先添加不带 NOT NULL 约束的列,填充数据后再创建 NOT NULL 约束。 - Frank Schmitt
1
ALTER TABLE ADD COLUMN statement. However, a column with a NOT NULL constraint can be added to an existing table if you give a default value; otherwise, an exception is thrown when the ALTER TABLE statement is executed. - vhadalgi
1
第二个链接是用于MySQL的,不是用于Oracle的。 - user330315

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接