вопрос
Удаление данных, связанных с указанным идентификатором задачи в определенной таблице, не имеет непосредственно связанных полей. В поле тела определенной таблицы хранится только строка json, содержащая идентификатор задачи, поэтому требуется пакетное нечеткое сопоставление.
Используемые функции
- REGEXP
может обеспечить нечеткое сопоставление нескольких значений.
select * from xxx where body like '%"taskId":1%' or name like '%"taskId":2%'
-- 等价于
select * from xxx where body regexp '"taskId":1|"taskId":2'
- GROUP_CONCAT
объединяет значения нескольких строк в одну строку
Метод реализации
SELECT * FROM xxx WHERE body REGEXP (
SELECT GROUP_CONCAT(CONCAT('"taskId":',task_id) SEPARATOR '|') FROM task
)