[英]Update query not working in mysql workbench
我有一個 MySql 查詢,如下所示:
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
我正在使用 MySql Workbench 來執行查詢。
但它沒有更新行並顯示此錯誤:
您正在使用安全更新模式並且您嘗試更新沒有使用 KEY 列的 WHERE 的表 要禁用安全模式,請切換 Preferences -> SQL Editor 中的選項並重新連接。
在 mysql 工作台中,默認情況下啟用安全模式,因此如果您的WHERE
子句沒有鍵,它將阻止運行查詢。 嘗試使用這些步驟禁用它 -
Edit
> Preferences
> Sql Editor
> uncheck the "Safe Updates"
注意- 嘗試重新連接服務器( Query
> Reconnect to Server
),然后再次運行您的查詢。
MySQL
可以幫助您避免一次性更新/刪除多行。 為此,它不允許您在不傳遞 ID 參數的情況下運行UPDATE
查詢。 這稱為SAFE UPDATES
模式。
正如@ManojSalvi 所說,您可以從設置中永久設置它。
如果您想暫時禁用SAFE UPDATE
模式,您可以嘗試以下操作:-
SET SQL_SAFE_UPDATES = 0;
UPDATE signup SET lastname='Lastname', password='123'
WHERE firstname='Firstname';
SET SQL_SAFE_UPDATES = 1;
[編輯] @ManojSalvi 明白了,工作台相關
MySQL 錯誤代碼:1175 在 MySQL Workbench 中的 UPDATE 期間
對我來說很好...
MySQL 5.6 架構設置:
CREATE TABLE t
(`firstname` varchar(6), `lastname` varchar(14), `password` varchar(3))
;
INSERT INTO t
(`firstname`, `lastname`, `password`)
VALUES
('Pramod', 'Alfred', '***'),
('test', 'hello h.', '***')
;
UPDATE t SET lastname='Alfred Schmidt', password='123' WHERE firstname='Pramod';
查詢 1 :
select * from t
結果:
| firstname | lastname | password |
|-----------|----------------|----------|
| Pramod | Alfred Schmidt | 123 |
| test | hello h. | *** |
“安全模式”在 MySQL 工作台中默認處於開啟狀態。 您可以在左上角的 mysqlworkbench 中更改它 –> 首選項 –> sql 編輯器 –> 取消選中安全模式,然后嘗試重新連接。 或者你可以只輸入
SET SQL_SAFE_UPDATES = 0;
這將做同樣的事情。
我認為這與SAFE UPDATES
沒有任何關系,因為您已明確說明您想在WHERE
進行更改。 我遇到了同樣的問題,但我嘗試將列的名稱包含在反引號中 ` 並且它起作用了。 您可以在鍵盤上的數字 1 左側找到反引號。
您可以嘗試的另一件事是SELECT
表並雙擊要UPDATE
的項目,然后應用窗口右下角的更改。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.