Files
BMS/bms-back/sql/price/pay_price_line_version.sql
T
2026-11-04 18:01:02 +08:00

37 lines
1.2 KiB
SQL

-- 重量段、附加费记录所属价卡版本。已有库可重复执行。
SET NAMES utf8mb4;
SET @band_sql = (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE pay_weight_band ADD COLUMN version_no int(11) NOT NULL DEFAULT 1 COMMENT ''价卡版本,随产品版本变更'' AFTER product_id',
'SELECT 1'
)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pay_weight_band' AND COLUMN_NAME = 'version_no'
);
PREPARE stmt FROM @band_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
SET @fee_sql = (
SELECT IF(
COUNT(*) = 0,
'ALTER TABLE pay_surcharge ADD COLUMN version_no int(11) NOT NULL DEFAULT 1 COMMENT ''价卡版本,随产品版本变更'' AFTER product_id',
'SELECT 1'
)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'pay_surcharge' AND COLUMN_NAME = 'version_no'
);
PREPARE stmt FROM @fee_sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
UPDATE pay_weight_band b
INNER JOIN pay_product p ON p.product_id = b.product_id
SET b.version_no = IFNULL(p.version_no, 1);
UPDATE pay_surcharge s
INNER JOIN pay_product p ON p.product_id = s.product_id
SET s.version_no = IFNULL(p.version_no, 1);