0

我正在尝试对数据库进行编程,并且我正在使用参数化查询和存储过程的组合。大多数情况下,我在存储过程中使用 pqs。我做的每一个都正确,并得到了正确的结果。但是,每次我退出 mysql 服务器并重新登录时,sprocs 仍然存在,但就像我从未编写过任何 pqs 一样。仅当我从头开始重新执行 pqs 时它才有效。我在讲座或网上都没有看到任何关于 pqs 是临时的,所以我做错了什么吗?谢谢你。

4

1 回答 1

2

你有一个苹果和星号类别的混淆。

苹果:存储过程是持久的服务器端对象,其名称位于特定 MySQL 数据库的名称空间中。就像表定义、视图和表内容一样,它们是数据库的一部分。

星号:参数化查询(准备好的语句)是在与 DBMS 的特定连接下创建的客户端对象。它们是您碰巧使用的任何连接库(以任何语言)的类层次结构中的对象。它们的生命周期不能超过连接的生命周期。

如果您的应用碰巧使用了多个连接(例如,如果它是多线程的),您需要为您正在使用的特定连接创建参数化查询。

于 2012-08-07T20:39:28.300 回答