Я выполняю поиск в простой базе данных с примерно 7 соответствующими полями.Идея состоит в том, чтобы CONCAT
7 полей и найти критерий поиска с помощью оператора LIKE
.Записи, которые не совпадают, имеют флаг (filter
), который установлен на ноль.
UPDATE mapping SET FILTER = 0 WHERE id IN(
SELECT id WHERE
CONCAT(Field1, Field2, F3, F4, F5, F6, F7) NOT LIKE "%searchTerm%"
);
Это работает как чудо на моем локальном устройстве разработки с MySQL.
Но мой хостиспользует MariaDB, и я получаю сообщение об ошибке:
# 1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MariaDB, на предмет правильного синтаксиса, который следует использовать рядом с «WHERE CONCAT (цели, организации») в строке 4.
Я выделил оператор SELECT (и добавил from mapping
), и это тоже работает. Но обновление работает только локально, а не на живом сайте.
Я ломал голову с прошлой ночи. Есть идеи?