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 \"Erro
maybe is a very simple error. Try delete the row from the user interface. see the attached images.
As Arnolio mentions in a comment,
The important part of the error is : "...without a WHERE that uses a KEY column". So i have to ask is the email column a key column?
I wasn't focused on the KEY portion, and my email column wasn't a KEY, which caused the error. Thanks, Arnolio!
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)