| サンプル集 |
|
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
| Linuxコマンド |
| 用語集 |
| debian メモ |
| apache2 メモ |
| MySQL メモ |
| Oracle メモ |
| HOME |
1つの DB に対して 2つコネクションをつないで別トランザクションにするには mysql_connect の第4パラメータに true を指定する必要がありました。 2つの DB に対して別々にコネクションをつなぐ場合でも第4パラメータは指定する必要があるのでしょうか。
◆環境| OS | Windows XP Professional Version 2002 Service Pack 3 |
|---|---|
| PHP | 5.2.4 |
| transaction_test2.php | ||
|
1つ目はコミット、2つ目はロールバックを指定して実行します。
>php transaction_test2.php 1 0
con1 コミット
con2 ロールバック
con1 コミット
con2 ロールバック
1つ目の情報を確認します。
mysql> select * from test_tbl;
+---------+--------+
| charVal | intVal |
+---------+--------+
| text10 | 10 |
| text11 | 11 |
| text12 | 12 |
| text13 | 13 |
| text14 | 14 |
| text15 | 15 |
| text16 | 16 |
| text17 | 17 |
| text18 | 18 |
| text19 | 19 |
+---------+--------+
10 rows in set (0.00 sec)
+---------+--------+
| charVal | intVal |
+---------+--------+
| text10 | 10 |
| text11 | 11 |
| text12 | 12 |
| text13 | 13 |
| text14 | 14 |
| text15 | 15 |
| text16 | 16 |
| text17 | 17 |
| text18 | 18 |
| text19 | 19 |
+---------+--------+
10 rows in set (0.00 sec)
正しく入っていました。 続いて2つ目を確認します。。 ロールバックしたから何も入っていないはずです。
mysql> select * from test_tbl;
Empty set (0.00 sec)
Empty set (0.00 sec)
予想通り0件でした。 接続先が別であればmysql_connect の第4パラメータに true を指定しなくて良いようです。
Copyright (C) 2012 ymlib.com
