我有一条select语句,我想从mysql的存储过程中调用它。它从只有三行三列的表中调用它。
SELECT RefsArray FROM C where InstaId like 'whatever'当我在它自己的查询窗口中调用它时,它将只返回一个正确值。
但是,当我把它放在一个存储过程中时,不管它有多复杂或多么简单,它总是会返回所有三行。
以下是一些截图:使用该过程:

select语句:

这非常令人抓狂,因为我已经尝试了几乎所有的方法:索引,重做整个表,使where子句更小,使用临时表,然后在过程中查询临时表,让它休眠,直到select语句完成,将类型更改为mediumtext,double,int。
它适用于其他表和列,但它只适用于我需要的这一列,它不适用。
我有一种感觉,这是因为它正在寻找的instaId太长了,但我在任何地方都没有读到它影响了过程中的查询。我能做些什么来解决这个问题呢?我需要这个与这些I一起工作!
仅供参考这里是C的整个表。

发布于 2015-09-15 05:01:35
我想我已经弄明白了。我将列名从InstaID更改为yID之类的缩写,由于某些原因,它现在可以工作了。
这背后有什么文献吗?
编辑
下面这位仁慈的上等人帮我弄明白,这是因为我的参数和我的列名相同。mysql不区分大小写。
https://stackoverflow.com/questions/32573390
复制相似问题