簡體   English   中英

SQL:使用主鍵和外鍵引用創建表(

[英]SQL: creating tables with primary keys and foreign key refering (

預先抱歉,因為這完全是業余時間。

這是我的小組被分配在SQL開發人員中創建的數據庫架構。

數據庫架構

我在參考外鍵時遇到困難

等等,我正在創建表Author,一切都很好。 我不確定aName是否應該是唯一標識符或主鍵。

CREATE TABLE AUTHOR 
(
aName varchar (60),
book varchar (60) PRIMARY KEY
);

但是,當我嘗試制作BOOK表時,由於我的SQL能力不足而遇到麻煩(我真的在嘗試)。

CREATE TABLE BOOK 
(
ISBN INTEGER PRIMARY KEY,
year integer CHECK (yearBETWEEN 1900 AND 2016),
title varchar (60) FOREIGN KEY REFERENCES FORFATTER (BOK),
publisher utgiver varchar (90),
);

當我嘗試執行腳本時,在嘗試引用外鍵的那一行上出現錯誤“缺少右括號”。 我的猜測是語法錯誤,但我無法弄清楚。

我無法解決的其他問題是如何將DISCIPLINES表中的主鍵書引用到BOOK表的year列中。

BOOK表中的Publisher和PUBLISHER表中的URL列之間的箭頭的用法相同。 當它們都不是主鍵時,如何相互引用?

我可能讀錯了架構或某些部分,這可能導致我有些困惑。 如果您能以任何方式幫助我或提供某種指導,將不勝感激。

對於內聯外鍵,不能使用foreign key關鍵字。 你也有懸空,結尾:

CREATE TABLE BOOK 
(
  ISBN INTEGER PRIMARY KEY,
  year integer CHECK (year BETWEEN 1900 AND 2016),
  title varchar (60) REFERENCES FORFATTER (BOK),
  publisher utgiver varchar (90) --<<< remove the comma here
);

或者:

CREATE TABLE BOOK 
(
  ISBN INTEGER PRIMARY KEY,
  year integer CHECK (year BETWEEN 1900 AND 2016),
  title varchar (60),
  publisher utgiver varchar (90), --<< for this syntax you need the comma
  foreign key (title) REFERENCES FORFATTER (BOK) 
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM