关于外键的建立问题

王召宇 2014-10-27 11:46:57
比如说我建立下面两个表
create table user(
id bigint(10) premary key auto_increment,
username varchar(20),
password varchar(20)
);
create table user_info(
id bigint(10),
gender char(1);
age int(2);
);
这里可以吧user_info 中的 id字段作为user表的外键吗?
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
sych888 2014-10-28
  • 打赏
  • 举报
回复
引用 5 楼 IOpfan 的回复:
那如果我把user_info 的id也定义为主键呢?外键不是这样定义的吗---“如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键
如果一个表的主键同时是另外一个表的外键,由于主键是一个实体的唯一性标示,所以这种情况,说明实体或表建立的不合适, 可以把两个实体或表合成一个,这样就比较符合设计范式,减少冗余
王召宇 2014-10-28
  • 打赏
  • 举报
回复
那如果我把user_info 的id也定义为主键呢?外键不是这样定义的吗---“如果关系模式R中的某属性集不是R的主键,而是另一个关系R1的主键则该属性集是关系模式R的外键
卖水果的net 2014-10-28
  • 打赏
  • 举报
回复
可以。
bw555 2014-10-28
  • 打赏
  • 举报
回复
外键没啥问题的,呵呵
huangdh12 2014-10-28
  • 打赏
  • 举报
回复
当然是可以的。 看这个字段类型,这应该是mysql吧?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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