2
我在pgAdmin 4中創建了一些表格,但由於某種原因,我一直收到錯誤的標題,你能發現原因嗎?我沒有看到任何問題,並且我已經查看了與我的完全編譯的類似的其他代碼示例。它也在IDEone(http://ideone.com/ZBn2Nr)中運行正常。在PostgreSql中獲取「外鍵不同意的引用和引用列的數量」
謝謝!
Create table item
(iname varchar(30) primary key,
itype varchar(30));
Create table Cafe
(license numeric(5,0) primary key,
cname varchar(30),
address varchar(30));
Create table Client
(cid numeric(5,0) primary key,
name varchar(30),
phone numeric(9,0));
Create table Likes
(cid numeric(5,0),
iname varchar(30),
primary key(cid,iname),
foreign key(cid) references Client,
foreign key(iname) references item);
Create table Sells
(license numeric(5,0),
iname varchar(30),
price float check(price > 0),
primary key(license,iname),
foreign key(license) references Cafe,
foreign key(iname) references item);
Create table Receipt
(cid numeric(5,0),
rno numeric(5,0),
license numeric(5,0),
rdate date,
primary key(cid,rno),
foreign key(cid) references Client,
foreign key(license) references Cafe);
Create table Buys
(cid numeric(5,0),
rno numeric(5,0),
iname varchar(30),
amount int check(amount > 0),
primary key(cid,rno,iname),
foreign key(cid) references Client,
foreign key(rno) references Receipt,
foreign key(iname) references item);
所以我要改變這條線 - 外鍵(RNO)引用收據(RNO)?我只是試圖做到這一點,但它給了我另一個錯誤,這次是:錯誤:語法錯誤處於或接近「foreign」 –
您可能意外刪除了逗號。您還需要使Receipt.rno具有唯一性。 http://sqlfiddle.com/#!17/e1592 – Eelke