Mail.ruПочтаМой МирОдноклассникиИгрыЗнакомстваНовостиПоискСмотриComboВсе проекты

Вопрос по MySQL. Что делает данный код? Для чего нужен? mysql> SET AUTOCOMMIT=1;

Иван Мыслитель (6081), закрыт 8 лет назад
Лучший ответ
Полосатый жираф Алик Искусственный Интеллект (274785) 8 лет назад
По умолчанию СУБД MySQL работает в режиме автоматического завершения транзакций, т. е. как только выполняется оператор обновления данных, который модифицирует таблицу, MySQL тут же сохраняет изменения на диске. Для объединения в транзакцию нескольких операторов необходимо отключить этот режим. Это можно осуществить при помощи оператора SET AUTOCOMMIT
mysql> SET AUTOCOMMIT=0;

После отключения режима автоматического завершения транзакций следует использовать оператор COMMIT, чтобы сохранить изменения на диске, либо ROLLBACK, чтобы отменять изменения, выполненные с момента начала транзакции. Для того, чтобы включить режим автоматического завершения транзакций необходимо выполнить оператор SET AUTOCOMMIT=1.
Остальные ответы
Евгений Заминев Мастер (1303) 8 лет назад
Отключает объединение в транзакцию нескольких операторов.
ИванМыслитель (6081) 8 лет назад
Ой, блин, ну ты и объяснил. А попонятнее можно?
Что за объединение? В какую еще транзакцию?
А если не отключить, что будет?
Полный код выглядит вот так:

mysql> SET AUTOCOMMIT=1;
mysql> DELETE FROM pet;
mysql> LOAD DATA LOCAL INFILE "pet.txt" INTO TABLE pet;

Только я совершенно не врубаюсь зачем эта строка тут нужна, и нужна ли вообще?
Похожие вопросы
Также спрашивают