我打算做一个抽奖网站,作为某个游戏网站的一部分。现在,我正在集思广益,讨论构建存储不同抽奖活动的数据库的最佳方式。所以我的想法是为每个抽奖活动创建一行,并为每个票号提供自己的列(该列将保存彩票所有者的用户ID(。但是由于抽奖可以获得多达1500张门票,我怀疑这是否是构建桌子的最佳方式。有没有人有另一个(更好的(建议如何做到这一点,或者这是最好的方法?
我建议有两个表。一个称为抽奖,用于保存当前抽奖活动的抽奖信息,另一个称为raffle_ticket保存抽奖活动的门票信息。这是我建议的以下结构:
抽奖栏目:
- raffle_id(自动递增主键(
- raffle_name(抽奖名称(
- raffle_date(抽奖日期(
- ....其他抽奖信息
raffle_ticket列:
- raffle_ticket_id(自动递增主键(
- raffle_id(链接到抽奖表中raffle_id的外键(
- raffle_user_id(链接到用户表中user_id的外键(
- raffle_num(当前抽奖中的彩票编号(如果您希望每个抽奖的序列号,可以使用
SELECT MAX(raffle_num)+1 as newrafflenumber FROM raffle_ticket WHERE raffle_id = CURRENT_RAFFLE_ID;
生成(
您可能需要稍微不同的东西,但这就是我的建议。