我正在使用第 3 方 .NET 库(Rhino Security),它将它的标识符作为 guid 存储在我的 mysql 数据库中的二进制(16)字段中。一切都可以从应用程序中完美运行,但是当我尝试通过查询编辑器(mysql 的 TOAD)手动运行查询时,不会为我知道存在的标识符返回任何行。例如,如果我运行以下查询,我不会得到任何结果:
SELECT Id, EntitySecurityKey, Type
FROM mydb.security_entityreferences
where EntitySecurityKey = '02a36462-49b7-406a-a3b6-d5accd6695e5'
在没有过滤器的情况下运行相同的查询会返回许多结果,包括在 EntitySecurityKey 字段中具有上述 GUID 的结果。是否有另一种方法来编写查询以搜索 guid/二进制字段?
谢谢!
编辑
我发现 TOAD 返回一个字符串而不是一个丑陋的 blob 很有趣。使用不同的编辑器返回结果(对于未过滤的查询),我得到了原始二进制数据。我会假设我的查询可以使用 binary 关键字,但以下都不起作用:
SELECT Id, EntitySecurityKey, Type
FROM mydb.security_entityreferences
where EntitySecurityKey = BINARY '02a36462-49b7-406a-a3b6-d5accd6695e5'
SELECT Id, EntitySecurityKey, Type
FROM mydb.security_entityreferences
where BINARY EntitySecurityKey = '02a36462-49b7-406a-a3b6-d5accd6695e5'