gpt4 book ai didi

mysql - 当二进制字段位于 where 子句中时如何运行解释查询

转载 作者:行者123 更新时间:2023-11-29 14:48:28 26 4
gpt4 key购买 nike

我需要使用 EXPLAIN 检查 MySQL 上以下查询的查询计划。

但问题是where子句中的列是二进制的(16)。它是一个指南。

explain select `title`,`ttext` 
FROM ptip inner join user on user.id = ptip.userId
where ptip.titlehash = <whatever value>

这里的 titlehash 是二进制(16)并且查询给出以下错误:

“不可能在阅读常量表后注意到”

我尝试使用;其中 ptip.titlehash = BINARY('24dwdfsdf') 但仍然相同;

如何运行上述查询?

最佳答案

好吧,这就是我最终解决它的方法;

SET @hs = (SELECT titlehash FROM ptip WHERE id = 5673);
EXPLAIN SELECT `title`,`ttext`
FROM ptip INNER JOIN USER ON user.id = ptip.userId
WHERE ptip.titlehash = @hs

我将值放入@hs变量中,然后用于解释。幸运的是,解释命令仅解释选择。它不关心 SET 操作,并将 @hs 变量视为只是一个值

关于mysql - 当二进制字段位于 where 子句中时如何运行解释查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6324140/

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