sql-server – 为什么表行使其主键作为自身的外键
发布时间:2021-05-25 20:08:17 所属栏目:编程 来源:网络整理
导读:通过查察数据库,我碰着了一个行使其主键作为自身外键的表. 我已经看到一个表可以有一个外键来构建一个条理布局,可是它会行使另一个列来引用主键. 因为主键是独一的,在这种环境下行不能仅指向自身吗?这好像是一个同义重复的接洽,由于假如我已经有了这一行,那
通过查察数据库,我碰着了一个行使其主键作为自身外键的表. 我已经看到一个表可以有一个外键来构建一个条理布局,可是它会行使另一个列来引用主键. 因为主键是独一的,在这种环境下行不能仅指向自身吗?这好像是一个同义重复的接洽,由于假如我已经有了这一行,那么我已经有了这一行. 这有什么来由可以吗? 我确信束缚是以这种方法编写的(不只仅是查察图表),由于统一个表和列用于界说的两半. 办理要领像你说的.引用统一表的FOREIGN KEY束缚凡是用于条理布局,它将行使另一列来引用主键.一个很好的例子是员工表:EmployeeId Int Primary Key EmployeeName String ManagerId Int Foreign key going back to the EmployeeId 以是在这种环境下,表中有一个外键返回自身.全部司理都是员工,因此ManagerId现实上是司理的EmployeeId. 另一方面,假如你的意思是有人行使EmployeeId作为外键返回到Employee表,那么这也许是一个错误.我确实举办了一次测试,这是也许的,但它没有任何现适用途. CREATE TABLE Employee (EmployeeId Int PRIMARY KEY,EmployeeName varchar(50),ManagerId Int); ALTER TABLE Employee ADD CONSTRAINT fk_employee FOREIGN KEY (EmployeeId) REFERENCES Employee(EmployeeId); (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |