Ошибка (код ошибки: 1175) при выполнении команды обновления таблицы с использованием MySQL Workbench 5.2

Я использую MySQL Server5.5, в который включен MySQL Workbench 5.2 CE. Я использую MySQL Workbench 5.2. У меня есть таблица с именем user в БД. Я выполнил следующую команду в редакторе SQL в MySQL Workbench:

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

Но, к сожалению, я получил следующую ошибку:

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.

Что случилось? Помощь высоко ценится.


person Ripon Al Wasim    schedule 09.01.2013    source источник
comment
возможный дубликат код ошибки MySQL: 1175 при обновлении   -  person fthiella    schedule 09.01.2013
comment
user — это зарезервированное слово, вам, вероятно, также нужно заключить его в обратные кавычки.   -  person a_horse_with_no_name    schedule 09.01.2013
comment
@a_horse_with_no_name: хорошее предложение, хотя в моем случае у меня не возникло никаких проблем   -  person Ripon Al Wasim    schedule 09.01.2013


Ответы (2)


Каждый раз, когда вы сталкиваетесь с такой ошибкой при попытке обновить строки в mysql, это происходит потому, что вы пытались обновить таблицу без WHERE, которая использует столбец KEY.

Вы можете исправить это, используя,

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

или в верстаке

  • Правка -> Настройки -> SQL-запросы
  • Снимите флажок Запретить операторы UPDATE и DELETE без предложения WHERE (безопасные обновления).
  • Запрос --> Переподключиться к серверу

введите описание изображения здесь

person John Woo    schedule 09.01.2013
comment
@a_horse_with_no_name, но в столбце email ключ не определен. - person John Woo; 09.01.2013
comment
SQL_SAFE_UPDATES — это системная переменная, верно? Как я могу получить список системных переменных в MySQL Workbench? - person Ripon Al Wasim; 09.01.2013
comment
в workbench 6.2 я не нашел SQL-запросов, вместо этого нашел SQL Editor - person KNU; 22.11.2014

Правильнее деактивировать и повторно активировать

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