gpt4 book ai didi

python - 为什么我在使用 SQLite 编写 fetchone() 时得到不正确的值?

转载 作者:搜寻专家 更新时间:2023-10-30 22:07:15 24 4
gpt4 key购买 nike

c.execute("SELECT * FROM Entries WHERE CPU=CPU")
for i in range(3):
print(c.fetchone())

返回:

('...', '...', '...', '...', '...', '...', 'CPU', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...')
('...', '...', '...', '...', '...', '...', 'TEST', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...')
('...', '...', '...', '...', '...', '...', 'TEST', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...', '...')

我不明白为什么当 CPU 不等于 CPU 时我会得到最后两行......

最佳答案

CPU=CPU 是这里的问题。这是因为 SQL 中的非空 列始终等于其自身。因此,您的查询将返回表中 CPU 列中没有空值的所有内容。

修复方法是将字符串 'CPU' 包裹在它需要的引号周围,如下所示:

c.execute("SELECT * FROM Entries WHERE CPU='CPU'")
for i in range(3):
print(c.fetchone())

我希望这证明是有用的。

关于python - 为什么我在使用 SQLite 编写 fetchone() 时得到不正确的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47915247/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com