[英]Why mysql "ENGINE=InnoDB" doesn't work with joomla 3 installation
[英]Mysql Transaction using InnoDB engine doesn't work
應該取消第一次和第二次插入(假設第二次插入基於第一個)。 無論如何,這里的事務不起作用,即使第二個出錯,它也會提交第一個,因為SET autocommit = 0
嘗試使用= off
並且在事務內部和外部都使用。
SET autocommit = 0;
START TRANSACTION;
insert into rooms
values
("test","0000","0000");
insert into assign_write_rooms
values
("0000","notest","0000");
COMMIT;
我認為這不是錯誤。
我有 startet 2 MySQL 客戶端。 在左半部分,我用 2 個插入開始了事務。 第二個有錯誤。 在正確的客戶端中,我永遠無法看到數據。 當我關閉連接時,數據回滾
mysql> select * from rollb;
Empty set (0.00 sec)
mysql> select * from rollb;
Empty set (0.00 sec)
mysql> set autocommit=0;
Query OK, 0 rows affected (0.00 sec)
mysql> start transaction;
Query OK, 0 rows affected (0.00 sec)
mysql> insert into rollb VALUES (1);
Query OK, 1 row affected (0.00 sec)
mysql> select * from rollb;
Empty set (0.00 sec)
mysql> insert into rollb VALUES (1);
ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'
mysql> select * from rollb;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql> select * from rollb;
Empty set (0.00 sec)
mysql>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.