-- 活动支付记录按 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;