Назад | Перейти на главную страницу

Отменить запрос в MySql

У меня есть запрос, который выполняется в течение нескольких часов. Если я отменю этот запрос, что произойдет с базой данных?

Запрос является ALTER TABLE который добавляет новый столбец.

ОБНОВИТЬ: Я выполнил сценарий таким образом

mysql -u username -p database

mysql> ALTER TABLE `table_name` ADD COLUMN `new_column` INT(1);

AFAIK вы могли бы запустить:

ПОКАЗАТЬ СПИСОК ПРОЦЕССОВ;

Чтобы увидеть, что это за поток, убейте его:

УБИТЬ [СОЕДИНЕНИЕ | QUERY] thread_id;

Во время ALTER TABLE флаг уничтожения проверяется перед чтением каждого блока строк из исходной таблицы. Если установлен флаг уничтожения, выполнение оператора прерывается, и временная таблица удаляется.

Что касается побочных эффектов, я не могу сказать вам, что именно могло случиться.

Я могу ошибаться здесь, но если вы не укажете BEGIN TRANSACTION, каждая команда представляет собой автономную транзакцию.

Таким образом, при отмене запроса не должно быть никаких побочных эффектов.