升級腳本常因不規範/不可重入 SQL 導致中途報錯中斷。MySQL 客戶端內建 --force 參數可忽略錯誤繼續執行後續語句。
mysql -u root -p password --force [database_name] < patch.sql
add_column_if_not_exists)--force 僅忽略錯誤繼續,不會回滾已執行語句 (非事務型)2> error.log# 使用存儲過程包裝冪等操作
DELIMITER //
CREATE PROCEDURE safe_add_column()
BEGIN
DECLARE CONTINUE HANDLER FOR 1060 BEGIN END; -- 忽略 "Duplicate column"
ALTER TABLE t ADD COLUMN c INT;
END//
DELIMITER ;
CALL safe_add_column();