Mysql
 sql >> база данни >  >> RDS >> Mysql

Възстановяване на вложена транзакция между две точки за запис?

Savepoints няма да направи това, което искате. Когато се върнете към точка за запис, всичко след тази точка за запис се връща назад, независимо дали са създадени по-късни точки за запис.

Мислете за точките за запис като "стек". Не можете да извадите нещо от средата на купчината, трябва да премахнете всичко до слоя, който искате.

Вероятно търсите автономни транзакции. Нито една от базите данни, които искате да използвате, не ги поддържа. В PostgreSQL можете да заобиколите това, като използвате модула dblink, за да направите нова връзка с базата данни и да работите с нея; вижте http://www.postgresql.org/docs/current/static/ dblink.html . Не знам какви решения предлагат MySQL или SQLite, но Google ще ви помогне сега, когато знаете термина, който търсите.

Препоръчвам ви да намерите начин да заобиколите това изискване за дизайн на приложението, ако е възможно. Накарайте вашето приложение да използва две връзки към бази данни и две транзакции, за да направи това, от което се нуждаете, като се погрижите за координирането на двете според изискванията.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python 'int32' не може да бъде преобразуван в MySQL тип

  2. Форматиране на връщане на заявка за модел на CakePHP

  3. изберете *, който съответства на потребителския пощенски код в таблицата на mysql?

  4. заявката не е равна не работи

  5. Превърнете резултата от базата данни в масив