我现在一直在使用mysql 5.6,
有时当我在过程,表或函数中进行一些更改并尝试保存它们时,MySQL拒绝保存它们并显示错误消息,例如“未检测到更改”。在这里,我不是在谈论改变案件或管理间距。即使我在程序中添加了一些新的列并添加新条件,它也无法检测到更改
任何人都可以帮我解决这个MySQL bug
我甚至已经升级到MySQL 5.7但仍然存在问题。
答案 0 :(得分:8)
我通过从编辑器中删除“ DEFINER = root
@ localhost
”部分来克服此错误,然后点击“应用”。它的工作时间为99%。
例如:对于一个函数或过程,下面是您在顶部看到的声明。只需删除上述DEFINER字符串并尝试即可。
创建DEFINER = root
@ localhost
功能/程序
答案 1 :(得分:1)
由于这不是MySQL服务器错误响应,我假设您正在尝试使用MySQL可视化工具工作台(http://www.mysql.com/products/workbench/)
更新您的过程我发现mysql.com上的错误报告指出了类似的问题。 http://bugs.mysql.com/bug.php?id=68434
可以使用MySQL工作台的最新版本6.0修复这些问题。
如果没有,可能的解决方法是删除并重新创建过程。
答案 2 :(得分:-1)
如果您使用MySQL Work bench,这意味着SQL脚本与数据库中的副本相同。
这通常是由于两个原因之一而发生的
文件是相同的,或者脚本无法解析为有效的SQL,然后默认为原始脚本。如果你检查消息日志,那么第二个应该说
操作:将更改应用于[scriptName] _SYNTAX_ERROR
消息:未检测到任何更改
这可能会令人困惑,因为提交对话只显示消息而非动作