MySQL 5.7 版本表数据更新和迁移教程:将佣金余额和状态更新到另一张表
可以使用以下 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' 字段,实现数据的迁移。
原文地址: https://www.cveoy.top/t/topic/lJMh 著作权归作者所有。请勿转载和采集!