使用 uuid returns nothing 查询 SQLite
Query SQLite using uuid returns nothing
我正在使用 UNIQUEIDENTIFIER 类型的 id 列查询 SQLite 数据库文件。
两条命令是:
SELECT * FROM scanned_images WHERE id = cast('5D878B98-71B2-4DEE-BA43-61D11C8EA497' as uniqueidentifier)
或
SELECT * FROM scanned_images WHERE id = '5D878B98-71B2-4DEE-BA43-61D11C8EA497'
然而,以上命令均未返回任何结果。
我也试过:
SELECT * FROM scanned_images WHERE rowid = 1
这个命令returns正确的数据。
SQLite 中没有 uniqueidentifier
数据类型。
根据 3.1. Determination Of Column Affinity 中描述的类型亲和性规则,该列的亲和性为 numeric
.
此表达式所做的一切:
cast('5D878B98-71B2-4DEE-BA43-61D11C8EA497' as uniqueidentifier)
是return5
.
您应该将列的数据类型定义为TEXT
,因为您必须将其视为TEXT
并写入条件:
WHERE id = '5D878B98-71B2-4DEE-BA43-61D11C8EA497'
或:
WHERE id = '(5D878B98-71B2-4DEE-BA43-61D11C8EA497)'
如果如图所示,它包含括号。
我正在使用 UNIQUEIDENTIFIER 类型的 id 列查询 SQLite 数据库文件。
两条命令是:
SELECT * FROM scanned_images WHERE id = cast('5D878B98-71B2-4DEE-BA43-61D11C8EA497' as uniqueidentifier)
或
SELECT * FROM scanned_images WHERE id = '5D878B98-71B2-4DEE-BA43-61D11C8EA497'
然而,以上命令均未返回任何结果。
我也试过:
SELECT * FROM scanned_images WHERE rowid = 1
这个命令returns正确的数据。
SQLite 中没有 uniqueidentifier
数据类型。
根据 3.1. Determination Of Column Affinity 中描述的类型亲和性规则,该列的亲和性为 numeric
.
此表达式所做的一切:
cast('5D878B98-71B2-4DEE-BA43-61D11C8EA497' as uniqueidentifier)
是return5
.
您应该将列的数据类型定义为TEXT
,因为您必须将其视为TEXT
并写入条件:
WHERE id = '5D878B98-71B2-4DEE-BA43-61D11C8EA497'
或:
WHERE id = '(5D878B98-71B2-4DEE-BA43-61D11C8EA497)'
如果如图所示,它包含括号。