gpt4 book ai didi

python-3.x - SQLite数据存储

转载 作者:行者123 更新时间:2023-12-03 19:12:10 25 4
gpt4 key购买 nike

我正在运行一个sqlite命令

SELECT address FROM Locations WHERE address='hola'


在数据库表上





即使结果应该是3行,输出也只有一行


这是我运行以在数据库中插入值的Python 3代码:

st = "hola"
st1 = st.encode()
st2 =memoryview(st1)

conn = sqlite3.connect('test.sqlite')
cur = conn.cursor()

cur.execute('''
INSERT INTO Locations(address)VALUES(?)''',(st,))
cur.execute('''
INSERT INTO Locations(address)VALUES(?)''',(st1,))
cur.execute('''
INSERT INTO Locations(address)VALUES(?)''',(st2,))

conn.commit()

最佳答案

在使用示例python代码填充数据库中的表之后,我运行了以下查询:

sqlite> select *, typeof(address) from locations;
id address typeof(address)
---------- ---------- ---------------
1 hola text
2 hola blob
3 hola blob


您要插入的两个值存储为Blob,一个存储为文本字符串。

the documentation开始,如何比较不同类型的值:


TEXT值小于BLOB值。


也就是说,即使 'hola'这样的字符串也永远不会等于blob,即使该字符串的基础字节与blob中的字节相同。这就是为什么 SELECT只返回一个值的原因。

关于python-3.x - SQLite数据存储,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56790092/

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