我正在使用oracle 10g,我写了一个像这样的创建表查询 -
String UserTable="CREATE TABLE UserDetail ( \n" +
" idNo INT(64) NOT NULL , \n" +
" name VARCHAR(50),\n" +
" email VARCHAR(50), \n" +
" state VARCHAR(50),\n"+
" country VARCHAR(50),\n" +
" CONSTRAINT person_pk PRIMARY KEY ('idNo')"
+ ");";
// Connection con2=DriverManager.getConnection(DbAddress,"vivek","123456");
PreparedStatement st2=conn.prepareStatement(UserTable);
st2.executeUpdate();
conn.close();
但它提供以下异常 -
java.sql.SQLSyntaxErrorException: ORA-00907: missing right parenthesis
在syssout上,查询变成了这个 -
CREATE TABLE UserDetail (
idNo INT(64) NOT NULL ,
name VARCHAR(50),
email VARCHAR(50),
state VARCHAR(50),
country VARCHAR(50),
CONSTRAINT person_pk PRIMARY KEY (idNo)
);
请帮忙。
答案 0 :(得分:0)
删除以下行
CONSTRAINT person_pk PRIMARY KEY ('idNo')
请在代码中使用以下行
CONSTRAINT person_pk PRIMARY KEY (idNo)
答案 1 :(得分:0)
哦,我得到了解决方案 - 我使用的是Int而不是Number而且它不受支持。查询应该是 -
"CREATE TABLE UserDetail ( \n" +
" idNo NUMBER NOT NULL , \n" +
" name VARCHAR(50),\n" +
" email VARCHAR(50), \n" +
" state VARCHAR(50),\n"+
" country VARCHAR(50),\n" +
" CONSTRAINT person_pk PRIMARY KEY ('idNo')"
+ ");";