在用MySQL创建了几个例程之后,我回到了我的数据库,它们丢失了,但仍然显示了名称。

它说我可能缺乏编辑它们所需的特权,但事实并非如此。我是用创建它们的同一个帐户登录的,这是一个管理帐户。
为了查看它们是否在information_schema中,我运行了以下命令:
SELECT routine_definition FROM information_schema.routines WHERE routine_schema = 'databasename';
...but它显示了两个空条目。

我的例行公事都没了吗?我创造它们的时候做错什么了吗?
我已经使用MySQL多年了,以前从未发生过这种情况。
编辑:我刚刚给例行公事打了电话,他们确实在工作.意味着他们会返回数据。我唯一的问题是我不能查看或编辑代码。
发布于 2018-03-19 03:07:43
In主机对此做出了解释。
不幸的是,由于cPanel最近的变化,MySQL例程的使用并不是共享托管计划所支持的。虽然可以通过自定义phpMyAdmin安装通过cPanel凭据手动创建它,但cPanel提供的接口将不再用于修改例程。如果您需要对例程的支持,则需要升级到VPS或更高的计划。
据我所知,MySQL将例程的安全性设置为“定义者”,它通过登录来标识您。一旦您注销并返回,该ID已经更改,从而隐藏了您的常规代码。
类似地,例程也不会出现在MySQL备份中。
https://stackoverflow.com/questions/49226457
复制相似问题