используя любое условие, кроме первичного ключа в предложении «где» в MySQL

0

Я занимаюсь 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

Теги:
database

1 ответ

0

мы можем использовать любой ключ с обновлением. проблема может быть в среде IDE, которую вы используете. Обязательно укажите версию IDE и MySQL, которую вы используете. или google о том, как Turing отключить безопасный режим в вашей среде IDE/MySQL.

Что такое безопасный режим?

он используется для предотвращения ненужного/случайного обновления ряда строк в таблице. (where clause with non-unique keys)

для поворота безопасного режима попробуйте

SET SQL_SAFE_UPDATES = 0;

его безопаснее включать безопасный режим после использования.

SET SQL_SAFE_UPDATES = 1;

Ещё вопросы

Сообщество Overcoder
Наверх
Меню