gpt4 book ai didi

mysql - mySQL 表上的唯一字段 - 生成促销代码

转载 作者:行者123 更新时间:2023-11-29 06:52:52 26 4
gpt4 key购买 nike

我正在开发一个 PHP 脚本,我有一个这样的表:

TABLE_CODE
code varchar 8
name varchar 30

此代码列必须是使用 A 到 Z 的随机字母和 0 到 9 的字符的代码,并且必须是唯一的。全部大写。有点像

A4RTX33Z

我已经创建了一种使用 PHP 生成此代码的方法。但这是一项密集型任务,因为在继续之前我必须查询数据库以查看生成的代码是否唯一,并且该表可能有很多记录。

因为我知道 mySQL 是一堆技巧,但现在对它没有深入的了解,所以我想知道是否可以在表中构建某种机制来在每次创建新记录时运行脚本(或其他东西)该表用唯一值填充代码列。

谢谢


编辑:我想知道是否有一种方法可以即时创建代码,因为记录被添加到表中并且该代码是唯一的。

最佳答案

最好在 SQL 中生成这些代码。这是 8 个字符的随机“促销代码生成器”:

INSERT IGNORE INTO 
TABLE_CODE(name, code)
VALUES(
UPPER(SUBSTRING(MD5(RAND()) FROM 1 FOR 8)), -- random 8 characters fixed length
'your code name'
)

按照@JW 的建议在 code 字段上添加 UNIQUE,并在 PHP 中进行一些错误处理,因为有时生成的值可能不是 UNIQUE ,MySQL 会在这种情况下引发错误。

关于mysql - mySQL 表上的唯一字段 - 生成促销代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14432013/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com