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

MySQL Workbench 錯誤 1175:Safe Update Mode 解決方案

     編輯:MySQL 綜合教學

MySQL Workbench 錯誤 1175:Safe Update Mode 解決方案

在使用 MySQL Workbench 執行 UPDATE 或 DELETE 語句時,若未帶有主鍵條件的 WHERE 子句,預設會拋出 Error Code: 1175:

You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

這是 Workbench 為防止誤操作大量資料而內建的保護機制。以下提供兩種解決方式:

方法一:暫時關閉 Safe Update Mode(最快)

在 SQL 編輯器執行以下指令,立即生效(僅限當前 Session):

SET SQL_SAFE_UPDATES = 0;

執行完畢後可再設回 1 恢復保護。

方法二:從偏好設定永久關閉(圖文步驟)

  1. 開啟 Workbench 選單 Edit → Preferences…
  2. 切換到 SQL Editor 分頁
  3. 取消勾選 Forbid UPDATE and DELETE statements without a WHERE clause (safe updates)
  4. 點擊 OK 儲存
  5. 務必重新啟動 Workbench,否則設定不會生效

Workbench Safe Update 設定畫面

原理補充

Safe Update Mode 對應 MySQL 系統變數 sql_safe_updates。開啟時,UPDATE/DELETE 必須滿足以下任一條件才能執行:

  • WHERE 子句使用索引欄位(主鍵或唯一索引)
  • 搭配 LIMIT 子句限制影響列數

這能有效防止「忘記加 WHERE 導致全表更新」的災難,生產環境建議保持開啟,僅在確定安全時暫時關閉。

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