Mysql
 sql >> Baza danych >  >> RDS >> Mysql

BŁĄD 1305 (42000):SAVEPOINT ... nie istnieje

Ponieważ jest to najlepsza odpowiedź w Google podczas wyszukiwania hasła „savepoint nie istnieje”, dodam tutaj również moje rozwiązanie.

Miałem TRUNCATE oświadczenie w kodzie wykonanym w mojej transakcji, które spowodowało niejawne zatwierdzenie i tym samym zakończyło transakcję. Utworzenie punktu zapisu poza transakcją nie powoduje błędu, po prostu nie zostanie wykonane. Oznacza to, że po raz pierwszy zauważysz, że coś jest nie tak, gdy spróbujesz zwolnić swój punkt zapisu / cofnąć go.

Oto pełna lista oświadczeń, które powodują niejawne zatwierdzenie: https://dev.mysql.com/doc/refman/5.7/en/implicit-commit.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Automatycznie łap wyjątki dla PDO w PHP

  2. Lista wszystkich duplikatów MySQL

  3. Problem PHP OOP z bazą danych

  4. NULL vs DEFAULT NULL vs NULL DEFAULT NULL w tworzeniu kolumny MYSQL?

  5. Codeigniter — modele dostępu i bazy danych dotyczące routingu