2016-11-05 41 views
4

這是我的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

curblogs行之後?

而我該如何實現entries = [dict(title=row[0], text=row[1]) for row in cur.fetchall()]

幫助我,謝謝

+0

你爲什麼聲明標題爲30的最大長度?默認情況下,使用'VARCHAR(255)'作爲默認值,加上常規的'INT',當擴展時爲'INT(11)'。不確定'INT(10)'來自哪裏。 – tadman

+0

我昨天才學會了MySQL ......我不知道如何以正確的方式使用它,就像英語一樣。我知道了,謝謝@ ltay – Hasaker

+0

沒有任何問題。只是試圖給你一些指點,所以你以後不會再陷入混亂。 – tadman

回答

0

要回答你的問題:

是的,它的查詢返回的數字,因爲你要串聯兩個操作1)獲取光標2)調用一個執行和指最終結果cur

2)操作將導致整數值給出的行數會受到影響存儲在cur

相關問題