use*_*152 2 sql sql-server foreign-keys
使用REFERENCE时我们还需要使用FOREIGN KEY,两者之间有什么区别.
例如:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)
与:
CREATE TABLE Orders (
OrderID int NOT NULL PRIMARY KEY,
OrderNumber int NOT NULL,
PersonID int REFERENCES Persons(PersonID)
);
Run Code Online (Sandbox Code Playgroud)
它似乎工作没有包括关键字"外键",所以我想知道在w
我觉得这是一个非常基本的问题,但无法找到答案.
该语法图是相当清楚的:
Run Code Online (Sandbox Code Playgroud)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关键字是可选的(它们用方括号括起来).因此,这两个版本做同样的事情.