我有一个表,其中有一列名为'data',它包括:
{"id":1074,"opened":true,"subscribed":true}
我想要一个按这些属性过滤的查询。
我试过了
->whereRaw('JSON_EXTRACT(data, "$.opened")', false)
和
->where('data->opened', false)
答复:
PDOException: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '>'$."id"' = ? and `data`->'$."opened"' = false order by `created_at` desc' at line 1 in.....
我知道这段代码适用于MySQL5.7,但我的服务器运行的是“10.1.34-mariadb-0”,我无法更改为mysql,因为plesk不支持它。
1条答案
按热度按时间5ktev3wc1#
mariadb目前不支持json类型。
如果你陷入困境,需要它来与mariadb合作。尝试使用元表。