显示当前用户的好友,好比CSND里面的,在个人主页的右侧,显示当前用户的好友。比如:当前用户的登录ID存储在 [dbo].[CSDN_User]的[UID]字段内,我的好友是放哪个表呢?下面这个设计可靠吗?
[PrimaryID]   [UID]    [Password]     [MyFirendID]
    1       zooen2011   xxxxxxxxx      3,9,0,2,13

解决方案 »

  1.   

    这个累人的很,还得转换使用primaryid   myfriendid
    1            3
    1            9
    1            2这样的,链接使用更方便。
      

  2.   


    --好友关系表
    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
        --其他字段
    )
      

  3.   

    最少要2各表,1:本用户的信息,包括登录状态。2:好友关系表,一对多。因为你最少要展示出好友的名称吧,给个ID也没用。个人建议的1表:
    uid,uname,status(状态),logintime(登录时间),logouttime,password。暂时这些够了,好友的信息到2表里面,uid,fid(好友ID),fname(好友姓名),好友当前状态可加可不加。对于你的表,priamryid是多余的,因为uid已经,也应该能够唯一标识一个用户了。自增ID其实大部分情况下都没必要成为主键的。
      

  4.   

    咦?设置priamryid,不是方便查询吗?项目里面互相传值,我到是用贯了
      

  5.   

    建议建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号对应的所有好友