【发布时间】:2011-11-16 05:47:06
【问题描述】:
我从 mysql 客户端创建存储过程,一切正常。 但是当我尝试调用它时,我会收到以下错误消息:
错误 1305 (42000):PROCEDURE XXX 不存在
之后我尝试在没有
的情况下再次创建它如果存在则删除程序
声明,我明白了:
错误 1304 (42000):PROCEDURE XXX 已存在
怎么了?
*问题是我的数据库在名称中有点 (.) *
*示例:'site.db' -> 这是错误的数据库名称,MYSQL 找不到过程!!!*
【问题讨论】:
-
由于您没有显示用于调用该过程的实际代码或用于删除它的代码,因此很难有人提供帮助。
-
你不能拼写“XXX”。这是我的猜测,直到您向我们展示一些实际代码:)
-
您是否有像 SQL Developer 或 Toad 这样的客户端来确保存储过程在您调用创建它后退出。您是使用文件中的脚本来执行逻辑还是直接输入 sql 命令。在解决此问题之前,我们提供了更多细节。如果您使用的是脚本文件,那么您的架构所有者是否与我拥有的访问权限相同。
-
你有没有让它工作?我尝试用反引号转义我的数据库名称,但它仍然说该过程不存在。
-
事实证明,这是我(旧)版本的 MySql 的问题:bugs.mysql.com/bug.php?id=61078 我们要么升级版本(首选),要么重命名数据库,这取决于我们的感觉是一个较小的痛苦。