3

MySQLを使用しています。selectステートメントの後にCコネクタを使用して実行されたいくつかのinsertステートメントがあります。それらすべてを1つのトランザクションにまとめ、最後にコミットする方法を知りたいです。

MySQL5.0リファレンスマニュアルとCAPI関数の概要を確認しましたが、この関数がありmysql_commit()ますか?トランザクションを開始する必要があり(これを設定するには、をオフにするだけautocommit()です)、最後に正しくコミットするだけですか?

4

1 に答える 1

5

私の知る限り、mysql_starttransaction() などはありません。だからあなたは次のようなもので立ち往生しています:

mysql_autocommit(conn, 0); 
//Do stuff here
mysql_commit(conn); //...or mysql_rollback(conn);

これらすべての呼び出しに「クエリ」メソッドを使用したいと思います。

mysql_query(conn, "START TRANSACTION");
//Do stuff here
mysql_query(conn, "COMMIT"); //...or mysql_query(conn, "ROLLBACK"); 

このドキュメントも参照してください。

于 2012-07-17T16:07:44.970 に答える