[英]ORA-00922 : Cannot Create table in oracle using ojdbc
I want to create the following table我想创建下表
CREATE TABLE EMPLOYEE (
name_id varchar(255) PRIMARY KEY,
modified_at TIMESTAMP,
created_at TIMESTAMP
);
but oracle give the error但 oracle 给出错误
ORA-00922: missing or invalid option ORA-00922: 缺少或无效选项
I also tried the following SQL request but same issue is happening我也尝试了以下 SQL 请求,但同样的问题正在发生
CREATE TABLE EMPLOYEE (
name_id varchar(255),
modified_at TIMESTAMP,
created_at TIMESTAMP,
CONSTRAINT EMPLOYEE UNIQUE (name_id)
);
The request where executed using java code and the driver ojdbc6-11.2.0.4.jar使用 java 代码和驱动程序 ojdbc6-11.2.0.4.jar 执行的请求
is there anything wrong in my sql?我的 sql 有什么问题吗?
CREATE TABLE EMPLOYEE ( name_id varchar(255) PRIMARY KEY, modified_at TIMESTAMP, created_at TIMESTAMP );
CREATE TABLE EMPLOYEE ( name_id varchar(255), modified_at TIMESTAMP, created_at TIMESTAMP, CONSTRAINT EMPLOYEE UNIQUE (name_id) );
is there anything wrong in my sql?我的 sql 有什么问题吗?
No, it works fine db<>fiddle .不,它工作正常db<>fiddle 。
The only two things you could change are to:您可以更改的唯一两件事是:
VARCHAR2
and not VARCHAR
.使用VARCHAR2
而不是VARCHAR
。CREATE TABLE EMPLOYEE (
name_id VARCHAR2(255),
modified_at TIMESTAMP,
created_at TIMESTAMP,
CONSTRAINT EMPLOYEE__name_id__u UNIQUE (name_id)
);
The request where executed using java code and the driver ojdbc6-11.2.0.4.jar使用 java 代码和驱动程序 ojdbc6-11.2.0.4.jar 执行的请求
Remove the semi-colon at the end if you are running the statement via JDBC.如果您通过 JDBC 运行该语句,请删除末尾的分号。 A semi-colon is a statement terminator in SQL/Plus (and SQL developer) but is not necessary (and is a syntax error) when you are using JDBC and similar (when you will only ever pass a single statement and so the terminator is unnecessary).分号是 SQL/Plus(和 SQL 开发人员)中的语句终止符,但当您使用 JDBC 和类似内容时(当您只传递一条语句,因此终止符是不必要)。
Instead of the inline pk declaration you can use something like this:代替内联 pk 声明,您可以使用如下内容:
CREATE TABLE EMPLOYEE (
name_id varchar(255) PRIMARY KEY,
modified_at TIMESTAMP,
created_at TIMESTAMP
)
ALTER TABLE EMPLOYEE
ADD CONSTRAINT employee_pk PRIMARY KEY (name_id);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.