Mysql

如何使用 mySQL 為我生成自增 ID

  • August 30, 2017

這可能是一個糟糕的結構。如果是,請告訴我,我已經很久沒有進行任何數據庫設計了。

我有tblGame一個 mySQL 數據庫,它有兩個欄位:

ID_Table
ID_Player

在實際遊戲中,多個玩家將坐在一張桌子上。所以我將兩個欄位都設置為組合主鍵。並ID_Table設置為自動遞增。ID_Player是另一個表 ( tblPlayers) 中的自動增量。我想做的是在將任何玩家添加到桌面之前ID_Table獲得價值。實際的遊戲類比是一張開放的桌子(已經分配)坐在那裡等待玩家加入。當他們加入時,他們會被添加到.ID_Table``tblGame

是否有可能做到這一點?

您可以實施以下解決方案。

遊戲“表”

此表儲存遊戲(正在玩的)表的自動生成值:

CREATE TABLE tblTable (
   ID int NOT NULL AUTO_INCREMENT);

遊戲“玩家”

此表包含所有相關的玩家數據:

CREATE TABLE tblPlayer (
   ID         int          NOT NULL AUTO_INCREMENT,
   LastName   varchar(244) NOT NULL,
   FirstName  varchar(244) NOT NULL,
   Age        int          NOT NULL,
   PRIMARY KEY (ID)
);

遊戲“遊戲”(比賽)

此表將tblPlayer表與tblTable數據連結起來。

CREATE TABLE tblGame (
   ID_Table   int,
   ID_Player  int
);

創建一個新表

當您在遊戲中創建新表時,您只需通過設置以下語句來初始化新 ID:

INSERT INTO tblTable (ID) VALUE DEFAULT;

這將創建一個新值 (ID)。您必須將此值儲存在程式碼中,以便在將玩家分配到牌桌時使用。

引用自:https://dba.stackexchange.com/questions/184655