我可以在Python MySQLdb中设置用户定义的变量吗?

我可以在Python MySQLdb中设置用户定义的变量吗?,python,mysql,sql,database,Python,Mysql,Sql,Database,所以我的问题是,我有一个使用Mysql用户定义变量的查询,如: @x:=0从一些表中选择@x:=@x+1,此代码返回1-1000之间的一列 但是,如果我通过Python中的mySQLdb发送该查询,则该查询不起作用 connection =MySQLdb.Connect(host='xxx',user='xxx',passwd='xxx',db = 'xxx') cursor = connection.cursor cursor.execute("""SET @X:=0;SELECT @X:=@

所以我的问题是,我有一个使用Mysql用户定义变量的查询,如:
@x:=0从一些表中选择@x:=@x+1
,此代码返回1-1000之间的一列

但是,如果我通过Python中的mySQLdb发送该查询,则该查询不起作用

connection =MySQLdb.Connect(host='xxx',user='xxx',passwd='xxx',db = 'xxx')
cursor = connection.cursor
cursor.execute("""SET @X:=0;SELECT @X:=@X+1 FROM some_table""")
rows = cursor.fetchall()
print rows
它打印一个空元组

我怎样才能解决这个问题


谢谢

尝试一次执行一个查询:

cursor.execute("SET @X:=0;");
cursor.execute("SELECT @X:=@X+1 FROM some_table");
将其作为两个查询进行尝试

如果希望它是一个查询,MySQL用户变量文档注释中的示例如下所示:

SELECT @rownum:=@rownum+1 rownum, t.* FROM (SELECT @rownum:=1) r, mytable t;


您好,谢谢您的帮助。现在可以了。但我真正的疑问比这个假例子要复杂。它在mysql中运行得相当快,大约2秒,但当我通过python发送此查询时,速度要慢得多,大约超过分钟。你对这个问题有什么见解吗?Thanks@zsljulius不客气。别急着对我的答案投赞成票:)这对我来说也很好:D@zsljulius我编辑了你的答案,添加了一些额外的信息,这些信息本可以更快地帮助我:)
SELECT if(@a, @a:=@a+1, @a:=1) as rownum