首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL Workbench 批量更新報錯 Error 1175 解決方案與基礎介紹

     編輯:MySQL 綜合教學

錯誤現象

在 MySQL Workbench 執行無 WHERE 或無主鍵條件的 UPDATE/DELETE 時,報錯:

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column.
To disable safe mode, toggle the option in Preferences -> SQL Editor -> Query Editor and reconnect.

根因

Workbench 預設啟用 Safe Updates 模式(對應 SQL_SAFE_UPDATES=1),強制要求 UPDATE/DELETE 必須帶有主鍵或唯一索引列的 WHERE 條件,防止誤刪全表。

解決方案(兩種擇一)

方法一:圖形介面關閉(永久,需重連)

  1. Edit → Preferences → SQL Editor
  2. 取消勾選 Safe Updates (rejects UPDATEs and DELETEs with no restrictions)
  3. 點 OK → 斷開並重新連線

Workbench Preferences 關閉 Safe Updates

方法二:當前會話臨時關閉

功能區用途
Navigator (左側)Schema 瀏覽、管理實例、效能儀表板
SQL Editor (中間)編寫/執行 SQL、EXPLAIN 視覺化、結果網格
Output/Log (底部)輸出訊息、執行歷史、錯誤堆疊
Model/Design (上方頁籤)EER 圖設計、正向/逆向工程、DDL 生成
Administration (上方頁籤)用戶權限、伺服器狀態、備份/還原、效能報表

常用操作技巧

  • Ctrl+Enter:執行當前語句/選取區塊
  • Ctrl+Shift+Enter:執行全部腳本
  • 結果網格右鍵 → Open Value in Editor:查看長文本/BLOB
  • EXPLAIN 旁邊點 Visual Explain:圖形化執行計畫
  • Schema 右鍵 → Send to SQL Editor → Create/Select/Insert/Update/Delete:自動生成 CRUD 模板

安全模式最佳實踐建議

  1. 開發/測試環境:關閉 Safe Updates,方便批量操作
  2. 生產環境:嚴禁 在 Workbench 直連生產庫做批量寫入;應走審核流程、用遷移腳本
  3. 誤操作預防:即使關閉 Safe Updates,習慣先 SELECT * FROM t WHERE ... 確認影響範圍,再改 UPDATE
  4. 備份優先:任何批量寫入前,確認有最近可用備份或 Binlog 可回滾

小結

Error 1175 是 Workbench 的「安全帶」。開發環境關閉、生產環境禁用直連寫入 是鐵律。善用 Visual Explain、Schema 模板、歷史記錄,能大幅提升日常開發效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved