zsl*_*ius 8 python mysql sql database
所以我的问题是这个,我有一个查询使用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
Run Code Online (Sandbox Code Playgroud)
它打印一个空元组.
我怎么解决这个问题?
谢谢
尝试一次执行一个查询:
cursor.execute("SET @X:=0;");
cursor.execute("SELECT @X:=@X+1 FROM some_table");
Run Code Online (Sandbox Code Playgroud)
尝试将其作为两个查询。
如果您希望它是一个查询,MySQL 用户变量文档注释中的示例如下所示:
SELECT @rownum:=@rownum+1 rownum, t.* FROM (SELECT @rownum:=1) r, mytable t;
Run Code Online (Sandbox Code Playgroud)
或者
SELECT if(@a, @a:=@a+1, @a:=1) as rownum
Run Code Online (Sandbox Code Playgroud)
请参阅http://dev.mysql.com/doc/refman/5.1/en/user-variables.html
| 归档时间: |
|
| 查看次数: |
3295 次 |
| 最近记录: |