gpt4 book ai didi

MySql "view"、 "prepared statement"和 "Prepared statement needs to be re-prepared"

转载 作者:行者123 更新时间:2023-11-29 02:57:12 28 4
gpt4 key购买 nike

我对 MySql 有疑问,详情如下:我创建了一个新的模式/数据库,(仅)执行了这个查询:

create table mytable (
id varchar(50) not null,
name varchar(50) null default '',
primary key (id));

create view myview as
select id,name from mytable;

insert into mytable values ('1','aaa');
insert into mytable values ('2','bbb');
insert into mytable values ('3','ccc');

然后,如果我运行这些查询:

select * from mytable;
select * from myview;
prepare cmd from 'select id,name from mytable where id=?';
set @param1 = '2';
execute cmd using @param1;

查询给出了正确的结果(3 行,3 行,1 行)。

但是,如果我运行这个查询,问题就存在了:

prepare cmd from 'select id,name from myview where id=?';
set @param1 = '2';
execute cmd using @param1;

错误:#1615 - 准备好的语句需要重新准备

我做了一些研究,发现以下配置的增量“可能”解决了问题:

increase table_open_cache_instances value
increase table_open_cache value
increase table_definition_cache value

据我所知,上面的查询是常见的标准MySql查询,所以我认为语法没有问题。

我在共享虚拟主机上,使用的 MySql 版本是 5.6.22

但让我感到困惑的是,它只包含 1 个模式/数据库,1 个表,3 个短记录和 1 个 View ,我执行了一个常见的标准 MySql 选择查询,上面的值的增量真的需要吗?是否有遇到同样问题的人增加了值(value)并真正解决了问题?或者,也许您有任何其他您认为可能或将会解决此问题的解决方案?

ps:它不会在一天内发生一次或两次(假设是由某些备份或相关原因引起的),而是在一整天(24 小时)内发生。

谢谢。

最佳答案

每次执行后你都这样做吗?

deallocate prepare cmd;

关于MySql "view"、 "prepared statement"和 "Prepared statement needs to be re-prepared",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29480915/

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