電子書籍の厳選無料作品が豊富!

大変お世話になっております。

mysql の LOADでオートコミットオフで作業することは可能でしょうか?
以下のように試してみましたが、オートコミットオフになっていないようです。

オートコミットオフになっていないと思った理由は
1、2とし、3でrollbackしてもロールバックできませんでした。

1.begin;
2.LOAD DATA INFILE "data.txt" INTO TABLE db2.my_table;
3.commit; もしくは rollback;

my_tableはInnoDBです。

バージョン
mysql : 5.0.23

・他に何か設定する項目などあるのでしょうか?
・それとも何か手順が足りないのでしょうか?

すごく簡単なことなのかもしれませんが、
ご教授の程、よろしくお願いいたします。

A 回答 (1件)

「SET AUTOCOMMIT=0」を指定後に、実行してみてください。

この回答への補足

自己解決いたしました。
mysqlのバージョンによるものでした。

補足日時:2007/06/22 13:35
    • good
    • 0
この回答へのお礼

chukenkenkou様、ご教授有難う御座います。
SET AUTOCOMMIT=0を付けるんですね。
知りませんでした。
ですが、普通のINSERT,UPDATEの場合ですと
1.SET AUTOCOMMIT=0;
2.begin;
3.INSERT処理
4.rollback;
上記手順でロールバックは可能なのですが、
3の処理がLOADになるとロールバックが出来ません。
まだ何かしないといけない事などあるのでしょうか?
度々すみませんが、よろしくお願いいたします。

お礼日時:2007/06/22 11:09

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!