Bobcares

How to Use Rollback in MySQL Stored Procedures

by | Jul 7, 2024

Learn how to use Rollback in MySQL stored procedures. Our MySQL Support team is here to help you with your questions and concerns.

How to Use Rollback in MySQL Stored Procedures

How to Use Rollback in MySQL Stored ProceduresA stored procedure in MySQL is a collection of SQL statements stored and executed on the server. With transactions, rollback helps maintain data integrity by undoing changes if an error occurs or specific conditions are met.

A transaction is a sequence of one or more SQL operations executed as a single unit. They make sure that either all operations are successful or none of them are.

The Commit option makes all changes made during the transaction permanent.

Additionally, Rollback reverts all changes made during the transaction.

How to Use Rollback in Stored Procedures

  • Starting a Transaction

    Start a transaction using the `START TRANSACTION` or `BEGIN` statement.

  • Committing a Transaction

    Save all changes made during the transaction with the `COMMIT` statement.

  • Rolling Back a Transaction

    Undo all changes made during the transaction using the `ROLLBACK` statement.

  • Explicit Transaction Boundaries

    We can define the boundaries of a transaction using the `START TRANSACTION` and `COMMIT` statements in the stored procedure.

    SQL statements executed after `START TRANSACTION` and before `COMMIT` are part of the transaction.

    If an error occurs during the execution of any statement within this block, the entire transaction can be rolled back using `ROLLBACK`. This ensures data consistency by undoing all changes made within the transaction.

Exception Handling with DECLARE and HANDLER

MySQL allows defining exception handlers using `DECLARE` and `HANDLER` statements. We can define a handler specifically for `SQLEXCEPTION` to catch any errors that might occur within our stored procedure. Within the handler, we can execute a `ROLLBACK` statement to undo changes if an error is encountered.

Here is an example of a stored procedure that uses transaction management and rollback:

DELIMITER //
CREATE PROCEDURE st_transaction_Rollback()
BEGIN
DECLARE exit handler for sqlexception
BEGIN
ROLLBACK;
END;
DECLARE exit handler for sqlwarning
BEGIN
ROLLBACK;
END;
START TRANSACTION;
INSERT INTO employee.tbl(name) VALUES();
UPDATE employee.tbl SET name = 'JohnDoe' WHERE id = 5;
COMMIT;
END //
DELIMITER ;

We can execute the stored procedure as seen here:

CALL st_transaction_Rollback();

Furthermore, we can verify the data with the SELECT command.

Using rollback in MySQL stored procedures helps maintain data integrity, especially when dealing with multiple related operations that need to be executed as a single unit. With proper transaction management and exception handling, we can make sure that our data remains consistent and reliable.

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

In brief, our Support Experts demonstrated how to use Rollback in MySQL stored procedures.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF