繁体   English   中英

如何检查 MySQL 查询语法?

[英]How can I check a MySQL query syntax?

我正在开发我自己的数据库管理系统,用 PHP 开发,我为我自己的查询选择了与 MySQL 查询相同的语法。

我想知道是否有一种工具可以检查 MySQL 查询是否有效,而无需连接到真正的 MySQL 数据库。

有人有办法做到吗? 我已经考虑过使用一些正则表达式,但我不确定这是最简单(也是最快)的方法。

有一些很好的 PHP SQL 解析器可以将查询分解为结构化数组。

您可以通过解析器运行代码并查看它是否中断以确定它是否是有效的语法。

http://code.google.com/p/php-sql-parser/

http://pear.php.net/package/SQL_Parser

是 2 我过去用过。

set @s := 'your sql script';
prepare stm1 from @s;

像这样的工具不能确保表或列存在。 该工具需要数据库模式来检查错误。 我使用 heidisql,如果我有更多的钱,我会购买在 mysql 服务器上拥有多个数据库的权利,我会执行“创建数据库”或复制数据库代码并在没有任何值的第二个数据库上进行测试,或者最好有值。

我相信您可以在phpmyadmin中尝试一些方法来测试您的代码,而不会影响数据库。

REGEX的工作量太大...也许创建一个虚拟表并在那里尝试语法?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM