記錄一次 PHPWind 6.0 匯入舊會員資料後,需批量將 yz(驗證狀態)欄位重置為 regdate(註冊時間)以觸發重新郵箱驗證的完整操作流程,含風險控制、單筆回滾與 REPLACE 字串替換技巧。
mail 填寫無效yz == regdate 觸發驗證流程;yz == 1 表示已驗證UPDATE pw_members SET yz = regdate;
WHERE 條件 = 全表更新,執行前必須備份創始人/管理員帳號同樣被重置為未驗證,無法登入後台。
pw_membersyz 從 regdate 值(如 1194067635)改回 1UPDATE table
SET col = REPLACE(col, 'old_str', 'new_str')
WHERE col LIKE '%old_str%';
UPDATE pw_members
SET yz = REPLACE(yz, '1', '2')
WHERE yz LIKE '%1%';
REPLACE 將欄位內所有 old_str 替換為 new_strWHERE ... LIKE 縮小掃描範圍,提升效能mysqldump -u user -p db pw_members > pw_members_bak.sqlWHERE id BETWEEN ... 分批,避免長鎖表Seconds_Behind_MasterUPDATE pw_members SET yz = 1 WHERE yz != 1 AND uid IN (...)批量 UPDATE 雖強大,但「備份、分批、可回滾」三原則不可省略。