Гость_Алексей
18.03.2013 - 18:19
Общий привет,
подскажите, как можно решить такой вопрос:
имеется БД (MySQL), данные в таблицы которой вносятся с нескольких web-страниц на php. Есть намерение сделать мастера ввода данных, который делает "start transaction", обходит все эти страницы и в конце выполняет "commit" при успешном завершении, либо выполняет "rollback", когда возникают сбои в процессе выполнения. Вопрос в том, что при уходе со страницы соединение с БД закрывается, так что start transaction не распространяется больше, чем на одну страницу. Как можно реализовать commit и rollback c последующих страниц в таком случае? При обходе страниц для формирования следующих sql-запросов нужны id элементов, созданных в БД на предыдущей странице, т.е. вовлечение БД в промежуточные запросы обязательно.
Спасибо,
Алексей
Гость_Алексей
19.03.2013 - 17:36
Цитата (dron4ik @ 18.03.2013 - 18:30) |
Гет, сесия, кука AJAX Временная таблица...
Нужно запомнить инфу... |
Я правильно понял, что средствами БД rollback не сделать и предложение состоит в том, чтобы запоминать id всех созданных записей, чтобы потом при необходимости удалить их самому?
Valick
19.03.2013 - 17:49
Цитата |
id всех созданных записей |
у вас полюбому должен быть какой-то уникальный идентификатор общий для этих записей
к примеру поле с названием transaction
_____________
Стимулятор ~yoomoney - 41001303250491
Гость_Алексей
19.03.2013 - 18:15
Цитата (Valick @ 19.03.2013 - 17:49) |
у вас полюбому должен быть какой-то уникальный идентификатор общий для этих записей к примеру поле с названием transaction |
Можете пояснить конкретно на таком упрощенном примере:
- на первой web-странице созается новая запись в таблице объектов с id записи через auto_increment
- на второй web-странице созается новая запись в таблице атрибутов объектов, у которой parent_id равен id объекта, созданного на первой странице
Что должно содержать поле transaction? Глобальный id транзакции в БД?