- 此问题在此处已有答案**:
How To Handle Table Column Named With Reserved Sql Keyword?(4个答案)
19小时前关门了。
我尝试向我的用户表添加一列,但每次尝试创建新用户时都会收到错误消息,最终会收到错误消息"java. sql. SQLSyntaxErrorException:ORA-00904:"已导入":标识符""无效。在数据库中创建了我的列,但在尝试创建用户时仍收到错误。
我试图在用户表中创建一个接收true或false的列,当我试图通过jpa创建一个新用户时,我得到了一个错误
我的模型:
@Column(name = "IMPORTED")
@Enumerated(EnumType.STRING)
private Eboolean imported;
我的疑问:
alter table USER add IMPORTED VARCHAR2(1);
1条答案
按热度按时间h22fl7wq1#
你说的不完全正确,表名肯定不是
user
:为什么?因为它是为返回当前登录用户的函数 * 保留 * 的:
因此,表名为 something else;或者,如果它 * 是 *
user
,那么您必须通过将它的名称括在双引号中来创建它,但是您必须每次都使用双引号,并且每次都匹配字母大小写:假设这就是你所拥有的,那么:
此外,您指定的错误为
ORA-00904:标识符无效
如果在表中插入一行时得到,则表示该表中没有该列,可能原因:
假设列存在(参见上面的
alter table
),insert
也起作用: