这个网站过去帮了我很多,但现在我迷路了。提前感谢您的指导。
我有一个包含二进制值的 MySQL 表,如下例所示。我不能换桌子。
CREATE TABLE `test` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`nid` binary(16) NOT NULL,
`test` varchar(45) DEFAULT NULL,
PRIMARY KEY (`id`))
这是一个 nid 的示例值:(ÞFÈ>ZPÎ×jRZ{æ×
不是全部显示,但所有 16 个都在那里)
现在我想创建一个 SQL 查询来查找该值为 true 的行的 id。
SELECT id FROM test WHERE nid = 'ÞFÈ>ZPÎ×jRZ{æ×';
...不起作用。任何想法?
解决方案 获得 HEX 格式的 nid 就可以了。它导致 DE46C83E5A50CED70E6A525A7BE6D709 并且当我在这样的查询中使用它时......
SELECT id FROM test WHERE HEX(nid) = 'DE46C83E5A50CED70E6A525A7BE6D709';
我得到了正确的结果。