tuqin
2 天以前 531b50cab6e42e6146a419bc71c5b494fff774b2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
-- =============================================
-- 售后退货申请:支持客户名称文本输入(不关联客户档案)
--
-- 变更:after_sale_return 增加 customer_name 列
--   customer_id 保持可选(未关联客户档案时为 NULL)
-- 脚本可重复执行(幂等)
-- =============================================
SET NAMES utf8mb4;
 
SET @sch := DATABASE();
 
SET @exists := (SELECT COUNT(*) FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = @sch AND TABLE_NAME = 'after_sale_return' AND COLUMN_NAME = 'customer_name');
SET @sql := IF(@exists = 0,
    'ALTER TABLE `after_sale_return` ADD COLUMN `customer_name` varchar(200) DEFAULT NULL COMMENT ''客户名称(文本)'' AFTER `customer_id`',
    'SELECT ''customer_name 已存在,跳过'' AS msg');
PREPARE stmt FROM @sql; EXECUTE stmt; DEALLOCATE PREPARE stmt;
 
-- 客户编号改为可空(支持只填客户名称、不关联客户档案)
ALTER TABLE `after_sale_return` MODIFY COLUMN `customer_id` bigint DEFAULT NULL COMMENT '客户编号(可空)';
 
-- 核对
SELECT COLUMN_NAME, COLUMN_TYPE, IS_NULLABLE, COLUMN_COMMENT
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = @sch AND TABLE_NAME = 'after_sale_return' AND COLUMN_NAME = 'customer_name';
 
SELECT '退货申请客户名称字段初始化完成' AS result;