我有一个数据库,其中的一列中包含一组ID(db.cache):
["1", "2", "3", "4"]
然后在查询中,我尝试从现有表联接到此缓存表,然后仅获取表a中的id不在此列表中的行:
SELECT id
FROM a
LEFT JOIN b on b
WHERE JSON_SEARCH(b.`cache`, 'one', a.id) IS NULL
但是运行此命令时,我得到以下信息:
错误代码:3141。函数json_search的参数1中的JSON文本无效:“无效值”。在位置3。
但是,如果我将那个子句放在select中,则会得到带有JSON路径或NULL的行的列表,并且如果我在where子句中从IS NULL更改为IS NOT NULL,它也可以按预期工作