2012-04-19 103 views
1

嗨我的数据库中的其中一个表有问题。我是从一个.txt文件加载表,当我加载数据库我得到SQLite语法错误

ERROR NEAR line 49: near "(": syntax error 

下表从行开始49

create table LEASE(
P_ID integer, 
I_ID varchar2, 
C_ID integer, 
DATE date, 
TRENT decimal(6,2), 
RENTPM decimal(4,2), 
RENTUTD varchar2 constraint rentutd_value (RENTUTD in ('Y','N')), 
LENGTH varchar2(15), 
SDATE date, 
EDATE date, 
NOTE varchar2(150), 
G_ID integer, 
A_ID integer, 
constraint fkey_lea1 foreign key (P_ID) references PROPERTY(P_ID), 
constraint fkey_lea2 foreign key (I_ID) references INSTITUTION(I_ID), 
constraint fkey_lea3 foreign key (C_ID) references CLIENT(C_ID), 
constraint fkey_lea4 foreign key (G_ID) references GUARANTOR(G_ID), 
constraint fkey_lea5 foreign key (A_ID) references AGENT(A_ID), 
constraint pkey_lea primary key (P_ID,I_ID,C_ID,DATE) 
); 

回答

1

看起来像语法上的rentutd列需要有点不同:

RENTUTD varchar2 constraint rentutd_value CHECK (RENTUTD in ('Y','N')) 

看到这个sqlfiddle

SQLite syntax diagrams非常适合弄清这些东西。

+0

谢谢,我花了这么长时间看着外键和主键语法,我只看了一下表格的其余部分。 – NoLogo 2012-04-19 14:47:50