I am running MySQL Workbench 6.3.8 b1228 CE (64-bit) in "safe update mode". I am trying to run a query with a "WHERE" statement, but it still returns "Error 1175"
Here is my query statement:
DELETE FROM `my_db`.`table_name` WHERE `email` = 'john@smith.com';
(Obviously "my_db" and "table_name" are placeholders.)
Why would Workbench throw Error 1175 for this query when I have the most basic of "WHERE" statements included?
In Sql by default safe options is enabled which restricts the user from deleting or updating the data in table using inappropriate key.To turn of the safe update go to
edit->preferences->sql
editor and uncheck the safe update check box at the bottom of the preference window or even you can delete or update referencing the primary key.
For Example: Let us consider we have table called user_details
with four fields(name
, number
, email
,address
) where name is the primary key.
So your delete statement would look like this
Delete from user_details where name="xxx";
Note: Reconnect to the database after safe update is turned off. Even you can restart the server but reconnect itself works fine.
Hope this solves your issue.
Consider:
update
civicrm_address
set
geo_code_1 = 99999
and
id is not null
This throws the same error but,
update
civicrm_address
set
geo_code_1 = 99999
and
id <> 0
is successful
Why doesn't the first one work?
(I wanted to post this as a comment but it doesn't allow the formatting)
来源:https://stackoverflow.com/questions/41063705/mysql-workbench-error-1175-even-with-a-where-statement