提取Python多语句SQL的最后结果

时间:2019-04-26 08:40:48

标签: python mysql mysql-python python-3.7

我正在Python中执行如下所示的SQL脚本:

1    INSERT INTO my_table VALUES (1, 2, 3);
2    SET @var_1 = LAST_INSERT_ID();
3    INSERT INTO my_table VALUES (4, 5, 6);
4    SET @var_2 = LAST_INSERT_ID();
5    INSERT INTO my_table VALUES (7, 8, 9);
6    SET @var_3 = LAST_INSERT_ID();
7    SELECT @var_1, @var_2, @var_3;

如您所见,只有最后一条语句返回任何内容。

但是,在Python中,要获得该最终声明的结果,我必须 对其他所有语句进行迭代

cursor : MySQLdb.cursors.Cursor

for _ in range( num_statements - 1 ):
    cursor.nextset()

result = cursor.fetchone()

对于我的7条语句的示例来说,这不是问题,但是对于100,000条语句的查询,这种简单的迭代操作所花的时间比执行查询本身要长10倍!

是否有一种方法可以使光标简单地跳到最终声明的结果,还是我做错了什么?

0 个答案:

没有答案