18
votes

I'm using MySQL Server5.5 in which MySQL Workbench 5.2 CE is included. I'm using MySQL Workbench 5.2 . I have a table named user in DB. I executed the following command on SQL Editor at MySQL Workbench:

UPDATE user SET email = '[email protected]' WHERE email='[email protected]';

But unfortunately I got the following error:

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.

What's the wrong? Help is highly appreciated.

2
user is a reserved word, you probably also need to enclose it with backticks. - a_horse_with_no_name
@a_horse_with_no_name: good suggestion though I did not face any problem in my case - Ripon Al Wasim

2 Answers

36
votes

Every time you encountered that kind of error when trying to update rows in mysql, It’s because you tried to update a table without a WHERE that uses a KEY column.

You can fix it using,

SET SQL_SAFE_UPDATES=0;
UPDATE user SET email = '[email protected]' WHERE email='[email protected]';

or in the WorkBench

  • Edit -> Preferences -> SQL Queries
  • Uncheck Forbid UPDATE and DELETE statements without a WHERE clause (safe updates)
  • Query --> Reconnect to Server

enter image description here

3
votes

It is more correct to deactivate and reactivate

SET SQL_SAFE_UPDATES=0; --disable
UPDATE user SET email = '[email protected]' WHERE email='[email protected]';
SET SQL_SAFE_UPDATES=1; --enable