现在在做一个网游demo,以前没用过sql,所以说某些问题不是很清楚。
请问如果我有一个道具表,里面是保存道具的,举个例
CREATE TABLE Item_Info
(
ItemID INT IDENTITY(10000,1),
ItemName VARCHAR(16) NOT NULL PRIMARY KEY,
ItemAddInt TINYINT DEFAULT 0,
ItemAddPow TINYINT DEFAULT 0,
ItemDes VARCHAR(32) NOT NULL,
)
插入一个道具
INSERT dbo.Item_Info
        ( ItemName ,
          ItemAddInt ,
          ItemAddPow ,
          ItemDes
        )
VALUES  ( '大力丸' , -- ItemName - varchar(16)
          100 , -- ItemAddInt - tinyint
          100 , -- ItemAddPow - tinyint
          '这就是大力丸'  -- ItemDes - varchar(32)
        )然后我有个角色信息表
CREATE TABLE Role_Info
(
RoleID INT IDENTITY(1,1),
RoleName VARCHAR(16)  NOT NULL,
RoleLevel TINYINT DEFAULT 1,
RoleInt INT DEFAULT 50,
RoleForce INT DEFAULT 50,
RoleMoney INT DEFAULT 1000,
)比如说我一个角色拥有大力丸10个,我该怎么将我的角色拥有的道具实现出来。当然,我也不知道我这样想对不对。
望高手点播点播一下。非常感谢。
网游sql

解决方案 »

  1.   

    多对多,需要一个关联表:
    id,角色id,道具id,拥有数量
      

  2.   


    按你说的我是不是要建一张表,作用类似与背包来保存Item的ID,但是请问一下道具数量该怎么来保存,我觉得1楼说的我不大明白。
      

  3.   

    还必须有个角色和道具关联表CREATE TABLE Role_Item(
    RoleId int,
    ItemId int,
    Quantity int
    )
      

  4.   

    你好,如果说我有多个道具的话是不是要这样存
    CREATE TABLE Role_Item(
    RoleId int,
    ItemId_1 int,
    Quantity_1 int
    ItemId_2 int,
    Quantity_2 int
    .
    .
    .
    ItemId_n int,
    Quantity_n int
    )