【发布时间】:2011-07-12 21:41:29
【问题描述】:
我在这个查询中遇到了一个小问题
$update = mysql_query("UPDATE earnings SET userid = (SELECT ID FROM users WHERE installid is NOT NULL ORDER BY rand() LIMIT 1) WHERE userid='0'");
当它的值为“0”时,此查询会更新收益表中的用户 ID 我需要做的是更新在用户表中找不到的用户ID 例如 收益表有 5 个条目,其中 userid=10 在用户表中找不到用户 ID 10,并且用户表具有这些 ID (1'2'3'4'5) 然后用用户表中找到的任何 id 更新这个值为 10 的用户 ID,并且 installid 不为空
【问题讨论】:
-
呃,如果没有找到ID,你用随机ID填充它?这不会违反任何数量的完整性规则和理智的传统定义吗?或者这只是一个学术项目?另外,您需要每个 ID 都是随机的还是只随机选择一个 ID?
-
不,它不是学术项目 :) 它是客户要求 :)
-
另外,您需要每个 ID 都是随机的还是只随机选择一个 ID?我希望每个 ID 都是随机的,而不仅仅是一个随机选择的 ID
-
这看起来有点奇怪,你想达到什么目的?也许您可以添加另一个子查询 WHERE userid not in (select userid from users)