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

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

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

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

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

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