繁体   English   中英

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

[英]Can I set user-defined variable in Python MySQLdb?

所以我的问题是这个,我有一个查询使用Mysql用户定义的变量,如: @x:=0 SELECT @X:=@X+1 from some_table ,此代码返回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;

要么

SELECT if(@a, @a:=@a+1, @a:=1) as rownum

请参阅http://dev.mysql.com/doc/refman/5.1/en/user-variables.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM