繁体   English   中英

创建表时对SQL外键约束的困惑

[英]Confusion about SQL foreign key constraint when creating tables

我为班级编写了这两个表(我总共有6个表)。 在搜索stackoverflow并找到其他遇到我的问题的示例之后,我似乎无法在编写此脚本时使用修复我的外键问题。 第一个表创建良好,而第二个表创建良好,其中有一个指向第一个表的外键很顽固...在过去的大约30分钟时间里,我一直在弄乱语法,无法获取它。 看起来像这样:

CREATE TABLE Regional_Lot
(Regional_lot_ID    VARCHAR(10) Primary key,
location        VARCHAR(20));

Insert into Regional_Lot Values
(1,'Richmond');
Insert into Regional_Lot Values
(2,'Virginia Beach');
Insert into Regional_Lot Values
(3,'Harrisonburg');

CREATE TABLE Vehicle1
(VIN        VARCHAR(17) Primay key,
Year        VARCHAR(10),
Make        VARCHAR(10),
Model       VARCHAR(10),
Condition           VARCHAR(10),
Color       VARCHAR(10),
Transmission    VARCHAR(10),
Regional_Lot_ID VARCHAR(10) References Regional_Lot);

当我尝试输入第二个表时,我收到一个有关缺少右括号的错误,该错误已通过研究缩小为外键问题。

我也在使用“运行SQL命令行”。

语法可能会因RDBMS而异,如果使用SQL Server,则应这样做:

CREATE TABLE Vehicle1  (
           VIN             VARCHAR(17) PRIMARY KEY
          ,Year            VARCHAR(10)
          ,Make            VARCHAR(10)
          ,Model           VARCHAR(10)
          ,Condition       VARCHAR(10)
          ,Color           VARCHAR(10)
          ,Transmission    VARCHAR(10)
          ,Regional_Lot_ID VARCHAR(10) FOREIGN KEY REFERENCES Regional_Lot(Regional_lot_ID)
         );
CREATE TABLE Vehicle1
(VIN        VARCHAR(17) Primay key,
Year        VARCHAR(10),
Make        VARCHAR(10),
Model       VARCHAR(10),
Condition           VARCHAR(10),
Color       VARCHAR(10),
Transmission    VARCHAR(10),
Regional_Lot_ID VARCHAR(10) foreign key References Regional_Lot(Regional_lot_ID));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM