Я делаю простой инструмент, который получает строку команд 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 (...)
и следить за ошибками, но есть ли способ проверить и другие команды?