-- 为余额核销记录增加核销人与反核销人用户主键。 -- 本脚本仅调整表结构;历史记录保持 NULL,新操作由服务写入当前登录用户ID。 SET @column_exists := ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ar_balance_writeoff' AND COLUMN_NAME = 'create_user_id' ); SET @sql := IF(@column_exists = 0, 'ALTER TABLE `ar_balance_writeoff` ADD COLUMN `create_user_id` bigint(20) DEFAULT NULL COMMENT ''核销人用户ID'' AFTER `remark`', 'ALTER TABLE `ar_balance_writeoff` MODIFY COLUMN `create_user_id` bigint(20) DEFAULT NULL COMMENT ''核销人用户ID'' AFTER `remark`' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @column_exists := ( SELECT COUNT(1) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'ar_balance_writeoff' AND COLUMN_NAME = 'cancel_user_id' ); SET @sql := IF(@column_exists = 0, 'ALTER TABLE `ar_balance_writeoff` ADD COLUMN `cancel_user_id` bigint(20) DEFAULT NULL COMMENT ''反核销人用户ID'' AFTER `create_time`', 'ALTER TABLE `ar_balance_writeoff` MODIFY COLUMN `cancel_user_id` bigint(20) DEFAULT NULL COMMENT ''反核销人用户ID'' AFTER `create_time`' ); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;