CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
)
这段代码有些看不懂,
虽然书上有解释:如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法
但还是不太懂,求高人说的详细点与洒家说来
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
)
这段代码有些看不懂,
虽然书上有解释:如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法
但还是不太懂,求高人说的详细点与洒家说来
解决方案 »
- 数据格式化,如何将123456.78显示为12.35
- 关于SQL sever 一些问题 求大神
- 再问 关于 cross join涉及到distinct怎么办
- 请问access中能通过sql脚本文件生成数据库和表吗?
- 如何在导出表的脚本时加上描述呀?
- 【向高手们提问】:复杂sql语句,我写了实现方法,但是没有达到预期效果,希望高手们指点
- 能否判断数据库中两个数据是否有关联?
- 求一条SQL语句
- 在设计表时用用default默认语句设置字符串值''好吗?有谁用过?
- 用何种方式才能使CRecordSet类支持动态集(Dynamic)方式连接SQL Server 7.0 ?
- 如何查询SQLserver中某个表是否存在?vb+sql
- 求个SQL
CREATE TABLE Orders --创建表名为Orders的表
(
O_Id int NOT NULL, --int字段
OrderNo int NOT NULL, --int字段
Id_P int, --int 字段
PRIMARY KEY (O_Id), --设置主键为O_Id
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) --外键约束Persons表的Id_P字段
REFERENCES Persons(Id_P)
)
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
Id_P int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)
REFERENCES Persons(Id_P)
)红色部分是将表orders的O_Id设置为主键列,可以直接写 O_Id int primary key,蓝色部分是加一个外键字段Id_P,关联到Persons表的Id_P主键字段
就一列是外键 这个约束fk_PerOrders 的意思就是说 Orders 的 Id_P 是 Persons 的Id_P的子集
书上的意思是如果你要自己定义约束名称,或者多列外键关联,要使用这种写法:
CONSTRAINT FK_PerOrders FOREIGN KEY (FieldName1,FieldName2) REFERENCES Persons(FieldName1,FieldName2)