mysql - 搜索用于检查 (My)SQL 语法的工具

标签 mysql sql linux build continuous-integration

目前我正在研究一个自动构建过程,该过程也将执行一些数据库更改。这可以是任何类型的语句(ALTER;SELECT;UPDATE;CREATE;DROP...) 如果这些 SQL 脚本中存在任何语法错误,我希望尽早使构建失败。

在网上搜索了几个小时后,我终于决定向编程专家寻求帮助。

我真的不想自己开发这个工具。自己开发它意味着维护它,在某些情况下甚至会冒数据丢失的风险。 (如果我需要执行一条语句并且无法回滚。)

我正在寻找的是一个仍在维护的(开源)工具。如果能在某些 Linux 发行版的存储库中找到此工具,那就再好不过了。

有人知道这样的工具吗?

我已经找到了一些在线 SQL Checker,但我不喜欢将内部数据发送到外部网络。

编辑: 也许我需要提供一些额外的背景信息。构建过程将由持续集成系统使用。我想确保提交的 sql 文件是可执行的。因此,我想在构建脚本中添加一个像“testScript”这样的 ant 任务,它将采用 SQL 脚本,检查语法并在失败时失败。 例如,可能发生这样的情况:开发人员已完成一条语句并将该语句复制粘贴到 SQL 脚本中,但只是选择了“TER TABLE”而不是“ALTER TABLE”。我正在搜索的语法检查器应该会发现这些简单类型的错误,这些错误会使后期的构建失败,并导致构建提前失败。在最好的情况下,它可以输出错误的语句和位置,以确保有时间纠正错误。

最佳答案

看看dbForge Studio for MySQL , 它有一个 code complition feature具有自动SQL语法检查功能。

打开新的 SQL 文档,写一些代码,或者打开现有的 SQL 文件,如果有的话,你会看到语法错误。

关于mysql - 搜索用于检查 (My)SQL 语法的工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21598821/

相关文章:

mysql - SQL:按一列中相同值的数量排序,无需聚合/收缩

php - Fat-Free-Framework - 防止表名插入映射器对象的虚拟字段

mysql - INSERTing 不在表中的行

php - 在一个查询 PDO 中选择两个表

java - 使用sql获取平均评分

linux - 如何在我的服务器中安装 phantom.js

php - 搜索结果后如何更新库存数量?

mysql - 计算后将数据从一个表插入到另一个表的过程

linux - 如何将 stderr 传输到 stdin?

linux - Apache ProxyPass 未加载资源