サンプル集 |
■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