Я делаю простой инструмент, который получит строку команд MySQL и запустит ее (на нескольких серверах БД последовательно). Я доверяю пользователям быть разумными, но ошибки случаются, и я ищу способ предотвратить основные опечатки:
Есть ли способ проверить во время выполнения (относительно простые) запросы MySQL, чтобы убедиться, что они синтаксически правильны?
Я не ищу семантической корректности, например. имена таблиц или возможность присоединения; просто что-то вроде проверки орфографии для SQL-запросов.
Другими словами,
SELECT * FROM x;
или
INSERT INTO x SET id=1,bar="foo";
будет отмечен как действительный, тогда как любой из них не будет:
SELECT FROM x;
SECLET * RFOM x;
ISNETR INTO x SET id=1;
HJBGYGCRYTCY;
Для SELECT
s, я мог бы сгибать EXPLAIN
к моим потребностям - запускать EXPLAIN SELECT (...)
и следить за ошибками, но есть ли способ проверить и другие команды?