使用REFERENCE
时,我们还需要使用FOREIGN KEY
,这两者之间有什么区别。
例如:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
对战:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int REFERENCES Persons(PersonID)
);
似乎没有包含关键字" FOREIGN KEY",所以我想知道w
我觉得这是一个非常基本的问题,但无法找到答案。
答案 0 :(得分:6)
syntax diagram非常明确:
column_name AS computed_column_expression [ PERSISTED [ NOT NULL ] ] [ [ CONSTRAINT constraint_name ] . . . | [ FOREIGN KEY ] REFERENCES referenced_table_name [ ( ref_column ) ] [ ON DELETE { NO ACTION | CASCADE } ] [ ON UPDATE { NO ACTION } ] [ NOT FOR REPLICATION ] | CHECK [ NOT FOR REPLICATION ] ( logical_expression ) ]
对于内联外键定义,FOREIGN KEY
和CONSTRAINT
关键字是可选的(它们用方括号括起来)。因此,这两个版本做同样的事情。