Я занимаюсь MySQL, и у меня есть вопрос о предложении "where", почему в MySQL условие, которое появляется после "where", должно быть в первичном ключе? если я поставлю какое-либо условие, кроме первичного ключа, это будет ошибка!
например, у меня есть таблица под названием "students" с 4 столбцами, первая - "stuid" и ее первичный ключ, и есть "stuname", "classroom", "stuage", и это остальные столбцы, почему я могу скажем, например
update students set stuname = 'sarah' where classroom = 46;
и это ошибка:
"Код ошибки: 1175. Вы используете безопасный режим обновления, и вы попытались обновить таблицу без WHERE, которая использует столбец KEY. Чтобы отключить безопасный режим, переключите опцию в" Настройки → Редактор SQL "и снова подключите".
я попытался сделать то, что говорит messsage, но я не понял часть о "reconnect",
следовательно: я использую MySQL на mac
мы можем использовать любой ключ с обновлением. проблема может быть в среде IDE, которую вы используете. Обязательно укажите версию IDE и MySQL, которую вы используете. или google о том, как Turing отключить безопасный режим в вашей среде IDE/MySQL.
Что такое безопасный режим?
он используется для предотвращения ненужного/случайного обновления ряда строк в таблице. (where clause with non-unique keys)
для поворота безопасного режима попробуйте
SET SQL_SAFE_UPDATES = 0;
его безопаснее включать безопасный режим после использования.
SET SQL_SAFE_UPDATES = 1;