Python sqlite3顺序错误
因此,我试图理解这一点:Python sqlite3顺序错误,python,sqlite,Python,Sqlite,因此,我试图理解这一点: c.execute('SELECT * FROM random ORDER BY id') line = c.fetchall() for row in line: text.insert(END, row) text.insert(END, '\n') 使用Sqlite3列表: 1 7 2 94 3 15 (第一个数字是一个简单的id(例如行号),第二个数字只是一个随机数) 现在,我有一个问题…当我添加i
c.execute('SELECT * FROM random ORDER BY id')
line = c.fetchall()
for row in line:
text.insert(END, row)
text.insert(END, '\n')
使用Sqlite3列表:
1 7
2 94
3 15
(第一个数字是一个简单的id(例如行号),第二个数字只是一个随机数)
现在,我有一个问题…当我添加id 11并打印行时,它会给出以下信息:
('1', 7)
('11', 60)
('2', 94)
('3', 15)
11号应该是最后一个出现的,对吗
有什么帮助吗?看起来列
id
的类型是char
,因此顺序正确,因为字符串11
小于2。您应该将列id的类型更改为int
,或者在排序之前必须转换id看起来列id
的类型是char
,因此顺序是正确的,因为字符串11
小于2。您应该将列id的类型更改为int
,或者您必须先转换id,然后再进行排序在您的输出中,您在11左右有引号:'11'
——这意味着它是一个11的字符串。不知何故,您需要确保在id字段中存储整数。在输出中,您在11附近有引号:'11'
——这意味着它是一个11的字符串。不知何故,您需要确保在id字段中存储整数。id的数据类型是什么?是数字还是字符?id的数据类型是什么?是数字还是字符?