Есть больше (много) способов в Рим:
//=>considering predQuery[preId] is undefined:
predQuery[preId] === undefined; //=> true
undefined === predQuery[preId] //=> true
predQuery[preId] || 'it\'s unbelievable!' //=> it's unbelievable
var isdef = predQuery[preId] ? predQuery[preId] : null //=> isdef = null
ура!
Вы можете вставить его в браузер запросов, такой как MySQL Query Browser (часть пакета инструментов графического интерфейса), и визуально проверить, как окрашены ключевые слова и строковые литералы, чтобы было легче увидеть, если вы допустил какие-либо синтаксические ошибки.
Похоже, что базовый лексер реализован в sql / sql_lex.cc. Вы можете использовать / утилизировать это для создания собственного тестового парсера. Но при этом проверяется только синтаксис, но не ошибки времени выполнения.
edit: Для MySQL 8.0+ см. Как я могу проверить синтаксис SQL в файле .sql?
Есть несколько бесплатных / пробных продуктов, которые позволят вам подключиться к базе данных MySQL или просто вставить скрипт для его проверки. Google здесь ваш друг. Mimer проверит валидацию синтаксиса стандарта ANSI , но, вероятно, не будет обрабатывать какие-либо особенности MySQL.
просто запустите его ....
начните транзакцию
запустите его
откат
Есть несколько возможностей. Если вы используете таблицы InnoDB, поддерживающие транзакции, вы можете просто выполнить start транзакцию;
в начале вашего .sql файла и откат ;
в конце. MySQL выдаст любые синтаксические ошибки.
Если вы тестируете операторы UPDATE
или DELETE
, вы можете добавить LIMIT 0
в конец, чтобы предотвратить выполнение этих запросов вносить какие-либо изменения в базу данных, а MySQL по-прежнему проверяет синтаксис.