1
我試圖完成一個非常簡單的任務:Python的sqlite3的:要反覆讀取行,但代碼是拉動每隔一行
- SQLite中創建表
- 插入幾行
- 在表中查詢的單列和拉回來的每一行
代碼來創建標籤:
import sqlite3
sqlite_file = '/Users/User/Desktop/DB.sqlite'
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
c.execute('''CREATE TABLE ListIDTable(ID numeric, Day numeric, Month
numeric, MonthTxt text, Year numeric, ListID text, Quantity text)''')
values_to_insert = [
(1,16,7,"Jul",2015,"XXXXXXX1","Q2"),
(2,16,7,"Jul",2015,"XXXXXXX2","Q2"),
(3,14,7,"Jul",2015,"XXXXXXX3","Q1"),
(4,14,7,"Jul",2015,"XXXXXXX4","Q1")] #Entries continue similarly
c.executemany("INSERT INTO ListIdTable (ID, Day, Month, MonthTxt,
Year, ListID, Quantity) values (?,?,?,?,?,?,?)", values_to_insert)
conn.commit()
conn.close()
當我在SQLite數據庫瀏覽器中查看此表時,一切都很正常。
這裏是我的代碼,試圖查詢上表:
import sqlite3
sqlite_file = '/Users/User/Desktop/DB.sqlite'
conn = sqlite3.connect(sqlite_file)
conn.row_factory = sqlite3.Row
c = conn.cursor()
for row in c.execute('select * from ListIDTable'):
r = c.fetchone()
ID = r['ID']
print (ID)
我應該得到一個打印出來的1,2,3,4 不過,我只得到2和4
我的代碼實際上傳了100個條目到表中,但是,當我查詢時,我只能得到偶數的ID打印輸出(即2,4,6,8等)。
感謝您對此問題的任何建議。