首页 > 解决方案 > Sqlite 数据存储

问题描述

我正在运行一个 sqlite 命令

SELECT address FROM Locations WHERE address='hola'

在数据库表上

桌子

表结构

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

这是我运行以在数据库中插入值的 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-3.xsqlitebinary

解决方案


这是一个字符集问题。st 它是 ISO 字符集 st1 和 st2 它是 UTF-8 字符集。

您的查询采用 ISO 字符集格式。


推荐阅读