Я полагаю, что где-то я читал, что существует параметр конфигурации mysql, который предотвращает обновление строк через консоль, если нет предложения WHERE.
Мне не удалось найти его в документации, существует ли этот вариант?
Я полагаю, что где-то я читал, что существует параметр конфигурации mysql, который предотвращает обновление строк через консоль, если нет предложения WHERE.
Мне не удалось найти его в документации, существует ли этот вариант?
Это MYSQL безопасный режим обновления.
А также опция --safe-updates.
Просто SET SQL_SAFE_UPDATES=0;
перед запуском вашего запроса.
См. Советы MySQL относительно безопасного режима.
Для новичков полезным вариантом запуска является --safe-updates (или -i-am-a-dummy, который имеет тот же эффект). Это полезно для случаев, когда вы, возможно, выпустили инструкцию DELETE FROM tbl_name, но забыли предложение WHERE. Обычно такой оператор удаляет все строки из таблицы. С помощью -safe-updates вы можете удалять строки только путем указания значений ключей, которые их идентифицируют. Это помогает предотвратить несчастные случаи.
Вам не разрешается выполнять оператор UPDATE или DELETE, если вы не укажете ограничение ключа в предложении WHERE или не предложите предложение LIMIT (или оба). Например:
UPDATE tbl_name SET not_key_column=val WHERE key_column=val; UPDATE tbl_name SET not_key_column=val LIMIT 1;
Из документов MySQL: http://dev.mysql.com/doc/refman/5.5/en/mysql-tips.html
"4.5.1.6.2. Использование опции -safe-updates
Для новичков полезным вариантом запуска является --safe-updates (или -i-am-a-dummy, который имеет тот же эффект). Это полезно для случаев, когда вы, возможно, выпустили инструкцию DELETE FROM tbl_name, но забыли предложение WHERE. Обычно такой оператор удаляет все строки из таблицы. С помощью -safe-updates вы можете удалять строки только путем указания значений ключей, которые их идентифицируют. Это помогает предотвратить несчастные случаи.
[...]
Вам не разрешается выполнять оператор UPDATE или DELETE, если вы не укажете ограничение ключа в предложении WHERE или не предложите предложение LIMIT (или оба). "