社区
MySQL
帖子详情
一个表的字段的外键能否指向同表的主键?
ltolll
2013-03-24 03:31:19
部门ID(主键)
上级部门ID(能否参考同表的"部门ID"作为外键)?
顶级部门的"级部门ID"可为空.
...全文
195
4
打赏
收藏
一个表的字段的外键能否指向同表的主键?
部门ID(主键) 上级部门ID(能否参考同表的"部门ID"作为外键)? 顶级部门的"级部门ID"可为空.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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'
SQL--当一张
表
的两个
外键
指向
同一
主键
最近遇到了这样
一个
问题,当一张
表
中有两个
外键
同时执行了另外一种
表
的
主键
,如何建立一张视图,让这两个
外键
都找到相应的信息。来实例吧:第一张
表
,归还记录:第二张
表
,用户
表
:问题就是,归还记录
表
里有两个
字段
,applicantUserID, operUserID,分别是申请人和操作人,他们作为
外键
同时
指向
了用户
表
的user ID,现在想通过这两个
外键
获取他们各个ID对应的姓名,即userName.分析:当
SQL的
主键
和
外键
详解!
我是小玉,
一个
平平无奇的小天才!
主键
和
外键
概念: SQL的
主键
表
示唯一标识一条记录,不能有重复的,不允许为空。例如:一条记录包括身份正号,姓名,年龄。身份证号是唯一能确定你这个人的,其他都可能有重复,所以,身份证号是
主键
。 SQL的
外键
用于与另一张
表
的关联。是能确定另一张
表
记录的
字段
,用于保持数据的一致性。比如,A
表
中的
一个
字段
,是B
表
的
主键
,那他就可以是A
表
的
外键
。
外键
与
主键
相对,作用就是通过主
外键
的之间关系使对张
表
中的数据更好的关联。 区别:
主键
——
一个
表
主键
只能有
一个
外键
——
一个
表
可以有多.
数据库
主键
和
外键
关系型数据库中的一条记录中有若干个属性,若其中某
一个
属性组(注意是组)能唯一标识一条记录,该属性组就可以成为
一个
主键
比如学生
表
(学号,姓名,性别,班级)其中每个学生的学号是唯一的,学号就是
一个
主键
课程
表
(课程编号,课程名,学分)其中课程编号是唯一的,课程编号就是
一个
主键
成绩
表
(学号,课程号,成绩)成绩
表
中单一
一个
属性无法唯一标识一条记录,学号和课程号的组合才可以唯一标识一条记录,所以 学号和课程号的属性组是
一个
主键
。
SQL 数据库 学习 007 通过
一个
示例简单介绍什么是
字段
、属性、列、元组、记录、
表
、
主键
、
外键
我们来介绍一下:数据库是如何存储数据的。数据库是如何存储数据的来看
一个
小例子现在,假如我们现在想存储 员工的信息。也就是说:我们来通过这个例子来看看
字段
、记录、
表
是
一个
什么东西。我们下面通过存储
一个
员工的信息,来把这些专业术语都来解释一遍。假设有4个信息:| 员工姓名 | 员工工资 | 员工性别 | 员工年龄 |我们能不能这样去存储数据。比如举例:如果我们按照正常的思维
MySQL删除
外键
、增加
外键
及删除
主键
、增加
主键
MySQL删除
外键
、增加
外键
及删除
主键
、增加
主键
示例
MySQL
57,064
社区成员
56,760
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章