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

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

顶级部门的"级部门ID"可为空.
...全文
134 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
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'

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧