sql的主键和外键的问题

来源:百度知道 编辑:UC知道 时间:2024/05/18 07:31:43
我想问下,数据库里比如有两张表,一张表有定单,有主键oid还有其他的一些字段,还有一张用户表有uid,如果我在定单的那张表中添加一个字段uid就是用户表中的主键uid并设为外键,如果我想定单表中插入一条记录但是uid为空会不会出错!!我想问如果我想说不管什么人都可以预定的话,定单表是不是就不用添加uid了
其实我是做客房预定,所以是任何人可以定的,所以应该就可以不用添加uid了!!我只是在页面上弄了个隐藏域,可以添加客户的会员名,想问下,是不是只能是主键才能有外键的!!

1\ 需要添加uid,这样才能标志是谁订的单啊.

2\ 主要是看你设计的定单表中uid是否允许为空了?允许为空当然就不出错了.

如果你要把定单的uid和用户的uid建立关系的话,你可以在关系图里面设置一下.
====================================================================
比如在定单中uid不是主键,但是它可以作为外键.所以不是一定得主键才能作为外键,

但最好遵守这个规则. 即用户uid作为主键,关联定单的uid.

做客房预定,你也得记下用户名字和相关资料啊.在定单上是必须的.

建议定单还是需要uid

你如果不插入用户表的uid的话肯定会出错的啊,因为你把uid设置成了用户表的主键,而主键是不允许为空的啊,你想让任何人都可以预定的哈,那么定单表就没有必要加uid了