我要做到以下幾點:矩陣部分4和MySQL困境
基本上我有以下的設計事件表:
事件:
- ID
- 代碼
- 日期
當創建新事件時,我想要執行以下操作:
檢查是否有任何可用的代碼。如果日期已過,則代碼可用。
$code1 = select code from event where date_add(date, INTERVAL 7 day) < NOW() AND code NOT IN (select code from event where date_start > NOW()) limit 1
如果代碼可用,獲得該代碼,並使用新的事件。
insert into event (code, date) VALUES($code1, NOW())
如果代碼是不可用,然後生成一個新的代碼。
問題是我恐怕在同一時間創建2個事件時,它們都會得到相同的代碼。我怎樣才能防止呢?
目標是爲每個事件分配1-100的代碼。所以,因爲1-100只有100個號碼,我需要回收代碼,這就是爲什麼我要檢查舊代碼以分配給新事件。我希望能夠通過回收舊代碼將1到100的代碼分配給事件。我不想將相同的代碼分配給2個不同的事件。
這段代碼代表邏輯明智嗎?看起來事件可以很容易地具有與另一個相同的代碼,因爲您的第二步就是這樣。你是從字面上給事件另一個代碼。 – thatidiotguy