#mysql #sql
#mysql #sql
Вопрос:
Это немного странный вариант использования, но предположим, что пользователь предоставил SQL-запрос и, не зная запроса, у меня есть доступ только к подзапросу в форме:
SELECT * FROM (users query) subquery
Есть ли какой-либо способ — не зная полей в подзапросе, выполнить поиск по содержимому по всем полям? Под этим я подразумеваю что-то вроде:
SELECT * FROM (users query) subquery
WHERE CONCAT(all_subquery_fields) like '%term%'
Возможно ли что-то подобное CONCAT(all_subquery_fields)
или это невозможно без знания полей в подзапросе?
Комментарии:
1. @juergend mysql.
2. Это невозможно. Вам нужно будет проанализировать запрос в логике вашей программы и настроить его перед его выполнением.
3. Вы предполагаете, что запрос пользователя содержит только текстовые поля. Это правда?
4. Было интересно, есть ли функция для преобразования вашего результирующего набора в объект JSON или объект XML. Тогда запрос может быть возможен.
5.
like '%term%'
это НЕ полнотекстовый поиск. Используйте термины правильно.