【发布时间】:2013-01-07 16:48:15
【问题描述】:
尝试生成唯一代码以防止重复我使用 HAVING 子句使用以下查询,因此我可以使用别名但我得到重复键错误:
SELECT
FLOOR(100 + RAND() * 899) AS random_code
FROM product_codes
HAVING random_code NOT IN (values)
LIMIT 1
以下代码不起作用,这是我需要的:
https://stackoverflow.com/a/4382586
是否有更好的方法来完成此操作,或者我的查询有问题?
【问题讨论】:
-
您的
values中有什么内容? -
我使用以下查询生成值:
SELECT codes FROM product_codes就在我调用 HAVING 查询并使用 PHP 内爆函数之前,我得到以下结果(0、258、365、789、563、693) -
为什么在原始查询中提到
product_codes?没有使用该表中的任何内容!
标签: mysql having-clause