Как можно найти синтаксические ошибки SQL? [на удерживании]

Как правило, ошибки SQL менее наглядны, чем другие языки, а на больших фрагментах кода sql может оказаться очень трудно найти ошибку, когда ваша единственная информация - это «синтаксическая ошибка рядом», вставьте место, где ошибка здесь не близка & lt; ».

Я хочу знать, есть ли какое-то программное обеспечение или методы, которые помогают легче найти эту проблему.

1
задан 13 August 2018 в 15:23

1 ответ

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

не должны быть там, но есть, как «неправильный тип цитаты» или дополнительная цитата внутри строки. Должны быть там, но нет, например end quote

Если это не сработает, вы можете начать комментирование разделов запроса до тех пор, пока он не будет работать. Например, закомментируйте все предложение WHERE. Если это работает, вы знаете, что что-то не так в предложении WHERE. Если это не так, вы знаете, что это где-то еще.

Продолжайте упрощать запрос до тех пор, пока он не будет запущен, тогда у вас будет идея, где искать проблему.

Чтобы процитировать Futurama, сообщения об ошибках являются «технически правильными, что является лучшим правилом». Да, там где-то есть синтаксическая ошибка, но нет, обычно не сообщается вам где.

Просто продолжайте разделять его, пока не найдете сломанная часть.

2
ответ дан 15 August 2018 в 17:00
  • 1
    Другой связанный с этим метод состоит в том, чтобы на самом деле ввести ошибку , вставив токен где-то в тело sql и воспроизвести двоичный поиск на этом – joop 13 August 2018 в 15:57

Другие вопросы по тегам:

Похожие вопросы: