• 全部
  • 问答

一个表的字段的外键能否指向同表的主键?

ltolll 2013-03-24 03:31:19
部门ID(主键)
上级部门ID(能否参考同表的"部门ID"作为外键)?

顶级部门的"级部门ID"可为空.
...全文
63 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Rotel-刘志东 2013-03-25
可以的参照完整性。
回复
2399 2013-03-25
这样是可以的
回复
ACMAIN_CHM 2013-03-24
可以自参照。
回复
rucypli 2013-03-24
可以 mysql> create table test4(a int primary key,b int,foreign key (b) references test4(a)); Query OK, 0 rows affected (0.12 sec) mysql> show create table test4; +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Table | Create Table | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | test4 | CREATE TABLE `test4` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, PRIMARY KEY (`a`), KEY `b` (`b`), CONSTRAINT `test4_ibfk_1` FOREIGN KEY (`b`) REFERENCES `test4` (`a`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 | +-------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 1 row in set (0.02 sec) mysql> insert into test4 values(1,1); Query OK, 1 row affected (0.02 sec) mysql> insert into test4 values(1,2); ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
回复
发帖
MySQL
创建于2007-09-28

5.4w+

社区成员

MySQL相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2013-03-24 03:31
社区公告
暂无公告