我有一个名为“ Employees”的表,该表具有一个位置字段作为一个int值,在users表中,它具有“ allowedLocations”,它是允许位置的json字段。简单来说,我只是将允许的位置列表放入查询中进行测试,所以我有
SELECT * FROM `employees` WHERE JSON_CONTAINS('[1,4,6,7,8,9,10,11,12,13,15,16,17,18]', `location`);enter code here
因此,如果employees
。locaton
等于1,那么我应该能够看到它,但是如果employees
。locaton
= 3,那么我就不能看到它。
我的问题是我的查询失败,并显示以下消息:-
错误代码:3146 用于函数json_contains的参数2中的JSON数据的数据类型无效; JSON字符串或JSON类型是必需的。
我尝试将location
强制转换为varchar(25),但仍无法运行。
任何人都可以协助指出这张票上我错了吗?我已经阅读了JSON_Contains和其他一些论坛,找不到任何可帮助的东西。
有什么想法吗?
谢谢