| Автор
| Сообщение |
 Finn
Новичок

Возраст: 25
Знак зодиака: 
Зарегистрирован: 14.05.2008
Сообщения: 3
Откуда: Беларусь
|
|
|
Цитата |
|
Есть 2 страницы, на первой стартуется транзакция и добавляется запись в одну таблицу.На второй странице добавляются записи в другую таблицу, добавляя id значения с только что добавленной записи первой таблицы, далее сохранение либо откат действий транзакции. Можно ли таким образом реализовать транзакции? Или транзакции работают только в пределах одного сценария?(при переходе на другую страницу происходит завершение транзакции с сохранением изменений). _________________ Аксиома Кана: Если ничто другое не помогает, прочтите, наконец, инструкцию. |
|
| В начало |
|
 |
|
|
 |
 TuXAPuK
Великий гонщик


Возраст: 26
Знак зодиака: 
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
|
|
|
Цитата |
|
Транзакция закрывается автоматический когда закрывается соединение. При этом если транзакция не была закрыта, производиться ROLLBACK.
На ваш вопрос отвечу :
Нет нельзя, нельзя чисто из технических соображений, так как BEGIN TRANSACTION блокирует сервер (BEGIN TRANSACTION, COMMIT / ROLLBACK лучше всего делать в теле одной функции когда все данные уже переработаны скриптом), передайте переработку 1й страницы на вторую, и там произведите все вычисления и запись в БД.
Передать переработку можно например с помощью встроенной функции PHP serialize
и раскодировать с помощью unserialize
Теперь в теории :
Если использовать mysql_pconnect то может быть можно, но только в случае крайней нужды. _________________
 |
|
| В начало |
|
 |
 Skulpen
Новичок

Возраст: 28
Знак зодиака: 
Зарегистрирован: 28.12.2011
Сообщения: 1
Откуда: Москва
|
|
|
Цитата |
|
| Как вариант - можно использовать временную таблицу, куда писать данные с первой страницы |
|
| В начало |
|
 |
|