[英]PHP Table Unique Keys
我有3張桌子。
第一個表是USERS,第二個表是PRODUCT KEY,第三個表是PRODUCT KEY和USER的連接。
看起來像這樣:
CREATE TABLE product_keys
(
id INT auto_increment PRIMARY KEY,
product_key VARCHAR(255)
);
CREATE TABLE users
(
id INT auto_increment PRIMARY KEY,
username VARCHAR(50),
email VARCHAR(50)
);
CREATE TABLE user_keys
(
id INT auto_increment PRIMARY KEY,
product_key VARCHAR(255) UNIQUE,
user_id INT
);
示例:產品密鑰表有70個密鑰。 如果第一個用戶注冊,他將收到一封帶有產品密鑰的電子郵件。 然后,第一個用戶ID和該產品密鑰將保存到第三個表。
問題是如何制作已發送的產品密鑰,如果第二個用戶注冊,則不會再發送並發送下一個密鑰。
你的問題很不清楚。 您需要注冊100個用戶,但只有70個密鑰? 那么第71位用戶就無法獲得獨一無二的用戶。
否則,您可以使用uniqid()
生成這些鍵,每次調用它時都應返回一個唯一的字符串
編輯:所以你只需要知道密鑰表中的哪些密鑰已被使用? 要么在其中添加一個新列(類似於“used”),每次將其分配給用戶時都會設置為true(也允許您輕松獲取未使用的產品密鑰),或者您只需刪除使用表中的鍵
添加第三個表中used
另一列,默認值為0.之后,當您使用鍵時,將其更改為1。
選擇要分配給用戶的鍵時,只選擇used=0
鍵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.