这是我的MySQL数据库:
create table 'blogs' (
'id' int(10) primary key auto_increment,
'title' varchar(29) not null,
'text' varchar(500) not null
) engine=innodb default charset=utf8mb4;
我使用PyMySQL连接它,然后我这样做:
cur = connection.cursor().execute('select title, text from blogs order by id desc')
entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()]
它提出了这个问题:
AttributeError: 'int' object has no attribute 'fetchall'
我尝试type(cur)
,显然我得到int
我尝试print(cur)
并获得了0
insert blogs(title,text) values ('222','qwqwqwq');
print(cur)
= 1
insert blogs(title,text) values ('333','qwqw222');
print(cur)
= 2
cur
行是blogs
吗?
我如何实现entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()]
?
帮助我,谢谢
答案 0 :(得分:0)
回答你的问题:
是的,它确实返回了多个查询,因为你链接了两个操作1)让游标2)在一个中调用execute并在'\n'
中引用最终结果
2)操作将产生整数值,该值给出受影响的行数,该行存储在cur