0

この例のように、SELECT UNION を使用して複数の INSERT を 1 つのトランザクションに入れる方法を学びました。

var newQuery = true, query = '';
for (i=0; i<locations_length; i++) {
    if (newQuery) {
        query = 'INSERT INTO myTable (id, name, code)';
        newQuery = false;
    }
    else {
        query += ' UNION';
    }

    query += ' SELECT "'+values[i][0]+'", "'+values[i][1]+'", "'+values[i][2]+'"';

    if (i!=0 && i%499==0) {
        db.execute(query);
        newQuery = true;
    }
}

複数のUPDATEでは機能しないようです。

複数の UPDATE を 1 つのトランザクションに入れる方法はありますか?

また、INSERT と UPDATE を 1 つのトランザクションに混在させる方法はありますか?

ちなみに、私はPython 2.7で作業しています。

よろしくお願いします。

4

1 に答える 1

1

BEGIN TRANSACTIONandCOMMITまたはand を使用するとROLLBACK、1 つのトランザクションで任意の数のステートメントを発生させることができます。

http://www.sqlite.org/lang_transaction.html

于 2013-07-25T04:22:23.433 に答える