簡體   English   中英

PHP表唯一鍵

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM