Почему мой java запрос вызывает ошибку, но в Workbench все в порядке? - PullRequest
0 голосов
/ 12 апреля 2020

Здравствуйте, я пытаюсь выполнить этот запрос в моей программе.

String query = "SELECT * FROM wcrm_Company WHERE CompanyName LIKE "+"%"+search+"%"+" OR PersonName LIKE "+"%"+search+"%"+" OR Country LIKE "+"%"+search+"%";
System.out.println(query);

Однако я получаю этот вывод и ошибку (LUX - это поисковый термин)

SELECT * FROM wcrm_Company WHERE CompanyName LIKE %LUX% OR PersonName LIKE %LUX% OR Country LIKE %LUX%
Internal error - an SQL exception occurred
SQLException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '%LUX% OR PersonName LIKE %LUX% OR Country LIKE %LUX%' at line 1

Однако этот запрос отлично работает в MySQL верстак

SELECT * FROM wcrm_Company WHERE CompanyName LIKE "%LUX%" OR PersonName LIKE "%LUX%" OR Country LIKE "%LUX%";

1 Ответ

1 голос
/ 12 апреля 2020

Используйте одинарные кавычки вокруг строк, или вы можете избежать двойных кавычек, но использование одинарных кавычек легче читать и поддерживать IMO

String query = "SELECT * FROM wcrm_Company 
                WHERE CompanyName LIKE '%"+search+"%' 
                OR PersonName LIKE '%"+search+"%' 
                OR Country LIKE '%"+search+"%'";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...