如何从现有的mysql表列生成1-99之间的数字?

时间:2012-03-28 09:09:26

标签: php mysql numbers

我有这样的mysql数据库表:

id name    surname number
1  emil    asadi   26
2  anybody anybody 27

我想检查数字列 - >即如果1-99之间不存在数字,则从1开始生成新数字。新数字也应该在1-99之间。

如何使用 进行 功能和mysql查询?或者你知道其他任何方式吗?感谢adnavce

2 个答案:

答案 0 :(得分:4)

您可以使用以下查询使用不从1开始的单个查询生成随机数。而且我认为这不重要:

 SELECT id, name, surname,
 if(number between 1 and 99 ,number,floor(1 + rand() * 99)) as number
 FROM table

如果您想要的话,请告诉我。

答案 1 :(得分:0)

也许尝试这个SQL语句来弥补你的数字之间的差距。 如果您有差距,可以在激活UPDATE语句的函数中使用结果。

SELECT a.number+1 AS start, MIN(b.number) - 1 AS end
FROM database AS a, database AS b
WHERE a.number < b.number
GROUP BY a.number
HAVING start < MIN(b.number)