作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个“主表”,称之为客户
:
CREATE TABLE Customers (
CustomerID int PRIMARY KEY NOT NULL,
FirstName nvarchar(50),
LastName nvarchar(50)
)
我有一个“卫星表”,称之为Customer_IllegallyObtainedInformation
:
CREATE TABLE Customer_IllegallyObtainedInformation (
CustomerID int PRIMARY KEY NOT NULL,
CellPhonePin int,
SexualOrientation varchar(20),
EmailPassword varchar(50)
)
现在,我想要是从Illegal
表返回到主Customers
表的外键约束:
换句话说:
客户
没有非法
条目客户
,决不会存在非法
条目我的直觉是在 SQL Server 数据库图表中拖动
Illegal
表 TOCustomers
表向 SQL Server 指示 Customers_IllegallyObtainedInformation
是关系中的“子项”。相反,SQL Server 中发生的事情使其成为一对一的关系:
这意味着如果您尝试插入客户
,它将失败,因为不存在现有的非法
信息。
如何在 SQL Server 中创建“父子”或“一对可选一”关系?
<小时/>注意:不要将示例与问题混淆。我可以在 Illegal
表中创建一个牺牲主代理键:
但这不是我的问题。
最佳答案
设计者似乎正在以相反的方向创建外键。
自己编写代码:
CREATE TABLE Customers (
CustomerID int PRIMARY KEY NOT NULL,
FirstName nvarchar(50),
LastName nvarchar(50)
)
CREATE TABLE Customer_IllegallyObtainedInformation (
CustomerID int PRIMARY KEY NOT NULL,
CellPhonePin int,
SexualOrientation varchar(20),
EmailPassword varchar(50),
constraint fk_Customers foreign key (CustomerId) references dbo.Customers
)
-- succeeds:
insert into dbo.Customers
values(1, 'One', 'One'), (2, 'Two', 'Two')
--fails:
insert into dbo.Customer_IllegallyObtainedInformation
values(3, 1, '', '');
--succeeds:
insert into dbo.Customer_IllegallyObtainedInformation
values(1, 1, '', '');
关于sql-server - 在 SQL Server 中创建一对可选一约束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13167633/
我正在尝试用 Swift 编写这段 JavaScript 代码:k_combinations 到目前为止,我在 Swift 中有这个: import Foundation import Cocoa e
我是一名优秀的程序员,十分优秀!