选择行,使用它,并标记为已使用

时间:2013-05-03 13:21:08

标签: php sql row

我遇到了问题,需要指引。 客户在我的网店付款后,他会收到一封电子邮件。我收到了邮件,我需要放一些PHP。

我需要在数据库中创建一个包含唯一编号的表。每个收到邮件的人都应该得到一个唯一的号码。

我会尝试解释我认为它应该去的过程。

  • 从表格中的行中读取唯一编号
  • 在邮件中粘贴号码
  • 标记使用的行或唯一编号

我怎么能做到这一点。欢迎任何帮助! :)

2 个答案:

答案 0 :(得分:1)

在您的邮件生成脚本中,您可以像这样:

SELECT `number` FROM `numbers` WHERE `used` = 0 LIMIT 1;

获取此查询的结果后,您将其放入邮件中,然后在发送之前调用此查询:

UPDATE `numbers` SET `used` = 1 WHERE `number` = '$number';

当然,这假设每个数字确实是唯一的(通过在该字段UNIQUE上保留PRIMARY或甚至number键来最好地执行... ...否则您将“使用”所有具有相同编号的条目。

虽然您可能需要考虑使用某种加密技术将自动增量键转换为字母数字键。

如果您需要更多帮助,我们需要您提供更多信息。

答案 1 :(得分:0)

数据库中的唯一编号通常由序列生成。除非您对这些数字的结构有特殊要求,否则这比使用数字预先填充表格更简单,更快速,更安全。