【发布时间】:2011-12-02 13:02:04
【问题描述】:
如何编写查询以在具有 JSON 数组的列上按 where 条件选择数据? IE。 假设我在 ci_sessions 中添加了 user_name、user_role。 user_data 是 JSON 数组。
SELECT *
FROM `ci_sessions` where user_data[user_role]='admin';
*********************/\***************
这里需要设计条件。我需要具有 user_role “admin”的数据。
更新:检查 user_role "admin" 是 where 条件的主要目标。
有什么方法可以将 where 条件添加为user_data[user_role] 或user_data->user_role?
更新:这在 PostgresSQL DB 中是可能的。
【问题讨论】:
-
这是一个糟糕的设计。如果你需要查询一个 user_role 字段,它应该是它自己的列。
-
我知道这是糟糕的设计。但是 Stack Overflow 上的专业人士非常聪明。查询永远不可能吗?还是通过编写子查询?有什么事吗?
-
那么根本不可能通过sql查询来检查这个条件吗?
标签: php mysql json codeigniter conditional-statements