Как я могу проверить синтаксис запроса MySQL? - PullRequest
1 голос
/ 17 ноября 2011

Я работаю над собственной системой управления базами данных, разработанной на PHP, и для своих запросов я выбрал тот же синтаксис, что и запросы MySQL.

Я хотел бы знать, существует ли инструмент для проверки правильности запроса MySQL без необходимости подключения к реальной базе данных MySQL.

У кого-нибудь есть способ сделать это? Я хотя бы об использовании некоторых регулярных выражений, но я не уверен, что это самый простой (и самый быстрый) способ сделать это.

Спасибо заранее!

Ответы [ 4 ]

4 голосов
/ 17 ноября 2011

Есть несколько хороших парсеров PHP SQL, которые разбивают запрос на структурированные массивы.

Вы можете запустить код через анализатор и посмотреть, не сломался ли он, чтобы определить, является ли он правильным синтаксисом.

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

и

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

2, которые я использовал в прошлом.

2 голосов
/ 09 ноября 2016
set @s := 'your sql script';
prepare stm1 from @s;
1 голос
/ 17 ноября 2011

такой инструмент не может обеспечить существование таблиц или столбцов.инструмент нуждается в схеме базы данных для проверки ошибок.Я использую heidisql и, если бы у меня было больше денег, я бы купил право иметь более одной базы данных на сервере MySQL, и я бы выполнил «создать базу данных» или скопировать код базы данных и протестировать на второй базе данных, которая не имеет никаких значений, илипредпочтительно со значениями.

0 голосов
/ 17 ноября 2011

Я полагаю, что в phpmyadmin есть что-то, что можно протестировать, не затрагивая вашу базу данных.

REGEX будет слишком много работы ... Может быть, создать фиктивную таблицу и попробовать там синтаксис?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...