随机增加值

时间:2010-09-28 14:34:36

标签: mysql

我有这样的表结构:

users
smf, user_id, group_id, status

对于每个查询,smf的值应该随当前最大值+随机数而增加。

这是查询

INSERT INTO users SELECT(SELECT MAX(smf) + FLOOR(RAND() * 15 from invoices ), 0, 0, '1''

我的第一个问题是关于如何保持并发完整性正确(max(id)可能不会给我插入的最后一行,因为其他人可能已插入,因为我做了。)

我的第二个问题是如何在不运行第二个查询的情况下获取FLOOR(RAND() * 15的值?

1 个答案:

答案 0 :(得分:1)

如果您的表具有自动增量字段,则可以使用mysq的last_insert_id来确定新行的内容并获取新值。在将代码插入数据库之前,您还可以在代码中生成随机数。