php - Missing Right Peren, Oracle syntax error -


trying make table, getting ora-00907: missing right parenthesis.

definition:

   create table "crawler" (         "id" number(10,0) not null enable default master_seq.nextval,         "title" varchar2(500) not null enable,         "url" varchar2(500) not null enable,         "body" long not null enable,         "depth" number(10,0) not null enable default '1',         "updated" number(10,0) not null enable,         "linked_from" varchar2(500) not null enable,         "crawled" number(10,0) not null enable default '0'     ); 

full text:

error: sqlstate[hy000]: general error: 907 ocistmtexecute: ora-00907: missing right parenthesis (/core-php-src-5.2.5/php-5.2.5/ext/pdo_oci/oci_statement.c:146)

(via php/pdo).

what missing?

you cannot use sequence in create table statement until oracle 11g.i assume using oracle version 11g , below.

in order use auto increment id in create table, have use sequence

create sequence my_table_sequence start 1 maxvalue 999999999999999 minvalue 1 nocycle; 

and trigger

create or replace trigger my_trigger  before insert on my_table  each row begin    select my_table_sequence.nextval      :new.id      dual; end; 

and either use trigger above or in insert statements, invoke sequence.nextval inserting data table.

change create table definition way

 create table "crawler" (     "id" number(10,0) not null enable,     "title" varchar2(500) not null enable,     "url" varchar2(500) not null enable,     "body" long not null enable,     "depth" number(10,0) default '1' not null,     "updated" number(10,0) not null enable,     "linked_from" varchar2(500) not null enable,     "crawled" number(10,0) default '0' not null enable  ); 

Comments