刘帅
2026-09-21 3f45e8fdfa31d7b764d60a7c0cb5dd11944ed418
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
28
29
30
31
32
33
34
35
36
37
38
39
40
-- 活动支付记录按 6 张物理表分表存储,所有分表必须同步新增快照字段。
ALTER TABLE `t_payment_competition`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
ALTER TABLE `t_payment_competition1`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
ALTER TABLE `t_payment_competition2`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
ALTER TABLE `t_payment_competition3`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
ALTER TABLE `t_payment_competition4`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
ALTER TABLE `t_payment_competition5`
    ADD COLUMN `competitionStoreIds` varchar(255) NULL COMMENT '下单时活动举办门店ID列表快照' AFTER `competitionId`;
 
UPDATE `t_payment_competition` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
UPDATE `t_payment_competition1` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
UPDATE `t_payment_competition2` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
UPDATE `t_payment_competition3` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
UPDATE `t_payment_competition4` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
UPDATE `t_payment_competition5` payment
INNER JOIN `t_competition` competition ON competition.`id` = payment.`competitionId`
SET payment.`competitionStoreIds` = competition.`storeId`
WHERE payment.`competitionStoreIds` IS NULL;
 
-- 回滚:依次执行 ALTER TABLE t_payment_competition[1-5] DROP COLUMN competitionStoreIds;