日期:2014-05-17 浏览次数:20490 次
--好友关系表 create table FriendShip ( ID int identity(1,1) primary key,--PK UID1 uniqueidentifier not null,--FK UID2 uniqueidentifier not null,--FK Status int not null default(0),--状态,1:用户1关注用户2,2:用户1用户2互相关注,等等... CreateTime datetime default(getdate()) not null, ModifyTime datetime null --其他字段 )
------解决方案--------------------
最少要2各表,1:本用户的信息,包括登录状态。2:好友关系表,一对多。因为你最少要展示出好友的名称吧,给个ID也没用。个人建议的1表:
uid,uname,status(状态),logintime(登录时间),logouttime,password。暂时这些够了,好友的信息到2表里面,uid,fid(好友ID),fname(好友姓名),好友当前状态可加可不加。
对于你的表,priamryid是多余的,因为uid已经,也应该能够唯一标识一个用户了。自增ID其实大部分情况下都没必要成为主键的。
------解决方案--------------------
建议建2个表
个人表user
(id,qq)id 为序列,qq为存放你自己的qq号码,这样你有几个qq号就有几列
好友表friend
(id,friend_qq,userid)id同样为序列,为以后业务扩充做准备,friend_qq 为好友的qq号,userid为个人表 user 的id,
这样2表通过userid连接,
如
select * from friend b,user a where a.id=b.userid and
a.qq=?????
就可以查出你的某个qq号对应的所有好友