Get your next remote job on LaraJobs.
Databases Laravel Testing

Fix "1305 SAVEPOINT trans2 does not exist" in Laravel

Benjamin Crozat
Modified on Dec 22, 2023 0 comments Edit on GitHub
Fix "1305 SAVEPOINT trans2 does not exist" in Laravel

Understanding “1305 SAVEPOINT trans2 does not exist”

Have you ever encountered the “1305 SAVEPOINT trans2 does not exist” error in production or while running your Laravel tests?

I have no clue if it’s a common issue, but it can be pretty puzzling, especially when it appears unexpectedly.

The error “1305 SAVEPOINT trans2 does not exist” typically pops up in Laravel applications using MySQL during database transactions.

One of the primary causes of this error is nested transactions (when a transaction is started within another transaction). You may have forgotten to commit or roll back a transaction and started a new one. MySQL cannot do that.

Potential fixes for “1305 SAVEPOINT trans2 does not exist”

  1. I double-checked that I wasn’t actually nesting transactions. For instance, I started logging all database queries occurring during my tests by using DB::enableQueryLog() and DB::getQueryLog(). In my case, this confirmed there were no nested transactions. So, step two may also be the answer for you.
  2. Since I encountered “1305 SAVEPOINT trans2 does not exist” while running my tests, modifying how the database was managed was effective. I started using the Illuminate\Foundation\Testing\RefreshDatabase trait instead of the Illuminate\Foundation\Testing\LazilyRefreshDatabase trait. Please don’t ask me why; I have no idea. 😅

Wait, there's more!

Be the first to comment!

Get help or share something of value with other readers!

Great deals for enterprise developers
  • ZoneWatcher
    Get instant alerts on DNS changes across all major providers, before your customers notice.
    25% off for 12 months using the promo code CROZAT.
    Try ZoneWatcher for free
  • Quickly build highly customizable admin panels for Laravel projects.
    20% off on the pro version using the promo code CROZAT.
    Try Backpack for free
  • Summarize and talk to YouTube videos. Bypass ads, sponsors, chit-chat, and get to the point.
    Try Nobinge →
  • Monitor the health of your apps: downtimes, certificates, broken links, and more.
    20% off the first 3 months using the promo code CROZAT.
    Try Oh Dear for free
  • Keep the customers coming; monitor your Google rankings.
    30% off your first month using the promo code WELCOME30
    Try Wincher for free →
The latest community links
- / -