|
|
|
| Вопрос таков как определить что в транзакции произошла ошибка, и откатить транзакцию?
Переделать данный пример в MySQl код
BEGIN TRANSACTION
INSERT INTO test VALUES (1,2,3);
IF @@ERROR != 0
ROLLBACK TRANSACTION;
-- действия...
COMMIT TRANSACTION | |
|
|
|
|
|
|
|
для: knight
(16.06.2007 в 10:25)
| | В каком клиенте выполняете SQL-запросы (PHP, mysql-клиент, что-то ещё)? | |
|
|
|
|
|
|
|
для: cheops
(16.06.2007 в 19:10)
| | думаю, если принять во внимание приведенный код, то mysql-client, а так хз :)))
Знаю точно, что если в php, то для вывода ошибки служит mysql_error();
:-D | |
|
|
|
|
|
|
|
для: cheops
(16.06.2007 в 19:10)
| | MySql желательно | |
|
|
|
|
|
|
|
для: knight
(17.06.2007 в 00:31)
| |
DELIMITER $$
DROP PROCEDURE IF EXISTS `Testing`.`t` $$
CREATE PROCEDURE `Testing`.`t` ()
BEGIN
DECLARE EXIT HANDLER FOR SQLWARNING, NOT FOUND, SQLEXCEPTION ROLLBACK;
START TRANSACTION;
INSERT INTO `test` VALUES (1,2,3);
действия...
COMMIT;
END $$
DELIMITER ;
|
Решение проблемы.... | |
|
|
|