可以使用以下 SQL 语句完成:

UPDATE 表1 
SET actual_commission_balance = commission_balance, 
    commission_status = 2 
WHERE type = 1 AND status = 3 AND invite_user_id IS NOT NULL;

UPDATE 表2 
SET balance = (SELECT actual_commission_balance 
               FROM 表1 
               WHERE invite_user_id = 表2.id) 
WHERE id IN (SELECT invite_user_id 
             FROM 表1 
             WHERE invite_user_id IS NOT NULL);

其中,'表1' 和 '表2' 分别是指两个数据库表的名称,根据实际情况进行修改。

代码解释:

  • 第一个 UPDATE 语句更新 '表1' 中符合条件的记录:
    • 将 'actual_commission_balance' 设置为 'commission_balance' 的值。
    • 将 'commission_status' 设置为 2。
    • 条件:'type' 等于 1,'status' 等于 3,并且 'invite_user_id' 不为空。
  • 第二个 UPDATE 语句更新 '表2' 中对应记录的 'balance' 字段:
    • 将 'balance' 设置为 '表1' 中 'invite_user_id' 与 '表2' 中 'id' 相同的记录的 'actual_commission_balance' 值。
    • 条件:'id' 存在于 '表1' 中的 'invite_user_id' 字段中。

通过以上两个 SQL 语句,你可以将 '表1' 中符合条件的记录的 'actual_commission_balance' 和 'commission_status' 更新至 '表2' 中对应记录的 'balance' 字段,实现数据的迁移。

MySQL 5.7 版本表数据更新和迁移教程:将佣金余额和状态更新到另一张表

原文地址: https://www.cveoy.top/t/topic/lJMh 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录