当我创建这样的表时:
create table DBDI_HIREDETAIL(
HireID int not null,
EquipID int not null,
Quantity int,
TotalFee float,
Comment varchar(200)
);
错误发生如下:
命令行出错:“TotalFee float” 错误报告: SQL错误:ORA-00904 ::无效的标识符 00904. 00000 - “%s:无效标识符”
我不明白为什么我的代码有错误,似乎没问题。
答案 0 :(得分:5)
COMMENT
是Oracle中的保留字;它用于将comments添加到数据字典中。您应该避免将其用作列名。
SQL> create table a ( comment number );
create table a ( comment number )
*
ERROR at line 1:
ORA-00904: : invalid identifier
如果确实想要使用此列名称,则必须引用它,即"COMMENT"
:
SQL> create table a ( "COMMENT" number );
Table created.
我建议你不要这样做,因为你必须在任何地方引用专栏。
答案 1 :(得分:1)
这是因为COMMENT是SQL中的保留字 - 而是使用另一个列名(例如HIREDETAIL_COMMENT):
create table DBDI_HIREDETAIL(
HireID int not null,
EquipID int not null,
Quantity int,
TotalFee float,
HireDetail_Comment varchar(200)
);