2012-04-19 117 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