php - 更新具有最大值的行

标签 php mysql

在我的表的“user_id”列中,我想插入刚刚从我的页面注册的用户的 ID。这个想法是将他最近产生的收入与用户 ID 相关联,只是为了发现收入的最终双重登记。

为了做到这一点,我想更新 user_id 列,在 income_id 具有最大值的行上,即最后产生的收入,但有些东西不起作用。我的代码是:

    $query = "SELECT max( id_income ) FROM `affiliate_income`";
$last_income = mysql_query($query, $conn) or die(mysql_error());
$last = mysql_fetch_assoc($last_income);

        $updtsql = "UPDATE affiliate_income SET `id_user`=".$row_user_code['id_user']."WHERE id_income =".$last;
        $result = mysql_query($updtsql, $conn) or die(mysql_error());

有什么想法吗?

最佳答案

实际上你可以在一个查询中完成,

UPDATE  affiliate_income a
        INNER JOIN (SELECT MAX(id_income) id_income FROM affiliate_income) b    
           ON a.id_income = b.id_income
SET     a.id_user = 'valueHere'

关于php - 更新具有最大值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16766628/

相关文章:

php - 如何获取特定日期的最新数据? [MySQL]

php - Laravel 4 ssl 子域重定向到主域

MySQL 自动递增自定义值

php - 星期几 Yii2 主动查询

php - ORM 关系(可能是 Kohana 特定的)

javascript - 我想从字段 (B) 硬币值中减去字段 (A) - coin_charge 值,并将结果存储在字段 (B) 硬币中

PHP Login 登录后不会重定向

php - MySQL 选择计数组

php - 防止 PHP 中的跨站点脚本

MYSQL 计算值在 2 个不同列中的次数