MySQL MariaDB

MySQL транзакции

MySQL транзакции
Транзакцията е едновременно събиране на функции за манипулиране на набори от данни и се извършва така, сякаш е едно цяло на работа. С други думи, транзакцията никога не може да бъде осъществена, докато всеки конкретен процес не е успешен в единицата. Целият процес ще се срине, ако някоя транзакция вътре в процеса се срине. Няколко SQL заявки са обединени в единица и всички те ще бъдат изпълнени заедно като част от нейната транзакция. Винаги, когато транзакцията включва няколко актуализации на база данни и транзакцията е извършена, всички модификации работят или всички актуализации се обръщат, когато операцията се върне обратно.

Свойства на транзакциите

Транзакции, често известни с термина КИСЕЛИНА, имат четири основни общи свойства.

Работа на MySQL транзакции:

В рамките на MySQL, двата термина, ангажиране и връщане назад се използват предимно само за MySQL транзакции. Транзакциите започват само с BEGIN WORK декларация и завършват или чрез COMMIT декларация или ROLLBACK декларация. Инструкциите за SQL включват по-голямата част от транзакцията както между началните, така и със спиращите оператори. Такива серии от събития са независимо от използвания специфичен език за програмиране. Ще направите подходящ път на който и да е език, който използвате за изграждане на приложението. SQL операторите по-долу могат да бъдат внедрени с помощта на функцията mysql query ().

Пример 01: Включен режим AutoCommit:

MySQL работи с фаза Autocommit, разрешена по подразбиране. Той гарантира, че MySQL запазва промените на диска, за да го създава постоянно, стига да изпълним заявка, която коригира (променя) таблица. Не е необходимо да върнете хода назад. Нека опитаме с AUTOCOMMIT on mode. Отворете черупката на командния ред на MySQL и въведете паролата си, за да започнете.

Вземете пример за таблица „книга“, която е създадена в база данни „данни“. В момента все още не сме извършили никаква заявка по него.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Стъпка 2: Този процес е за актуализиране на таблицата „книга“. Нека актуализираме стойността на колона „Автор“, където „Името“ на книгата е „Начало“. Можете да видите, че промените са направени успешно.

>> АКТУАЛИЗИРАНЕ на данните.book SET Автор = 'Cristian Steward' WHERE Name = 'Home';

Като погледнем актуализираната таблица, имаме модифицирана стойност на автора, където „name“ е „Home“.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Нека използваме командата ROLLBACK, за да върнем промените, като просто добавим заявката по-долу. Можете да видите, че ROLLBACK заявката не работи тук, тъй като показва, че „0 засегнати реда“.

>> ВРЪЩАНЕ;

Можете дори да видите таблицата. Досега таблицата няма промени след изпълнението на оператора ROLLBACK. Това означава, че ROLLBACK не работи, когато по подразбиране сме включили AUTOCOMMIT.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Пример 02: Изключен режим AutoCommit:

За да върнем направените промени, нека опитаме с изключен режим AUTOCOMMIT. Използвайки същия пример за таблица „книга“, ще извършим някои промени върху нея. Ще използваме декларацията START TRANSACTION, за да деактивираме фазата на автоматичното фиксиране или просто напишете командата по-долу, за да изключите AUTOCOMMIT.

>> ЗАДАВАНЕ НА АВТОКОММИТ = 0;

Да приемем, че имаме една и съща таблица „книга“ в нашата база данни и трябва да направим промени в нея. След това върнете отново тези промени към старите.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Ако не сте изключили режима AUTOCOMMIT, тогава започнете със заявка START TRANSACTION в обвивката на командния ред, както е показано по-долу.

>> СТАРТИРАНЕ НА СДЕЛКАТА;

Ще актуализираме същата таблица, като използваме командата UPDATE, като зададем „Автор“ като „Алиана“, където „Името“ на книгата е „Мечта“. Направете го, като използвате командата по-долу. Ще видите, че промените ще бъдат направени успешно и ефективно.

>> АКТУАЛИЗИРАНЕ на данните.book SET Autho = 'Aliana' WHERE Name = 'Dream';

Нека проверим дали горната заявка е работила перфектно и е направила промени в таблицата или не. Можете да проверите актуализираната таблица, като използвате командата SELECT по-долу, както винаги.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Можете да видите, че заявката работи отлично, както е показано по-долу.

Сега е ред на командата ROLLBACK да изпълнява функцията си. Опитайте командата ROLLBACK във вашия команден ред, за да върнете скорошната актуализация в таблицата.

>> ВРЪЩАНЕ;

Нека проверим дали ROLLBACK заявката е работила, както трябва да работи или не. За целта трябва да проверите таблицата „book“ отново, като използвате командата „SELECT“, както винаги.

>> ИЗБЕРЕТЕ * ОТ данни.Книга;

Можете да видите от изхода по-долу, че ROLLBACK най-накрая е работил. Той върна промените, направени от UPDATE заявката в тази таблица.

Заключение:

Това е всичко за MySQL транзакции. Надявам се това ръководство да ви помогне да извършвате удобно MySQL транзакции.

SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...
Урок за битка за Уеснот
Битката за Уеснот е една от най-популярните стратегически игри с отворен код, които можете да играете по това време. Тази игра не само се разработва о...
0 А.д. Урок
От многото стратегически игри, 0 A.д. успява да се открои като изчерпателно заглавие и много дълбока, тактическа игра, въпреки че е с отворен код. Раз...