【发布时间】:2011-03-28 05:46:34
【问题描述】:
主键、外键和唯一约束如何工作?我的意思是按什么顺序?
比如,当一个子表有一个 FK,并且插入了一条记录,该记录在父表中不存在,那么这条记录是否首先插入到子表中,然后在父表中进行约束检查如果这条记录存在与否,如果它没有找到它,那么它会回滚并从子表中删除该记录。这是工作顺序吗?
或者,首先 SQL 从插入查询中获取记录(在其上创建 FK),并将其与父表记录匹配,并在未找到匹配记录时停止插入,而插入本身并没有t 在子表中插入行?
同理,对于主键,如果表中插入了重复记录,那么是先插入再检查还是先插入再匹配已有记录,如果是重复记录,则查询为停止了。
【问题讨论】:
标签: sql sql-server-2005 foreign-keys primary-key unique-constraint