0

我已经学习了如何使用 SELECT UNION 将多个 INSERT 放入一个事务中,如本例所示

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;
    }
}

但它似乎不适用于多个更新。

有什么办法可以将多个更新放入一个事务中?

另外,有没有办法将 INSERT 和 UPDATE 混合到一个事务中?

顺便说一句,我正在使用 Python 2.7。

非常感谢你。

4

1 回答 1

1

使用BEGIN TRANSACTIONandCOMMITROLLBACKand 可以使任意数量的语句出现在单个事务中。

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

于 2013-07-25T04:22:23.433 回答