-- prc_order_bill: income_total + pay_total SET NAMES utf8mb4; SET @db := DATABASE(); SET @has_income := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_order_bill' AND COLUMN_NAME = 'income_total' ); SET @has_payable := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_order_bill' AND COLUMN_NAME = 'payable_total' ); SET @sql := IF(@has_income = 0 AND @has_payable > 0, 'ALTER TABLE prc_order_bill CHANGE COLUMN payable_total income_total DECIMAL(10,2) DEFAULT NULL COMMENT \'应收总额\'', 'SELECT 1'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @has_income2 := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_order_bill' AND COLUMN_NAME = 'income_total' ); SET @sql := IF(@has_income2 = 0, 'ALTER TABLE prc_order_bill ADD COLUMN income_total DECIMAL(10,2) DEFAULT NULL COMMENT \'应收总额\' AFTER surcharge_amount', 'SELECT 1'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt; SET @has_pay := ( SELECT COUNT(*) FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = @db AND TABLE_NAME = 'prc_order_bill' AND COLUMN_NAME = 'pay_total' ); SET @sql := IF(@has_pay = 0, 'ALTER TABLE prc_order_bill ADD COLUMN pay_total DECIMAL(10,2) DEFAULT NULL COMMENT \'应付总额\' AFTER income_total', 'SELECT 1'); PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;