【发布时间】:2020-12-24 01:54:38
【问题描述】:
我有一个 SQL 表:
CREATE TABLE pu_events(
int eid AUTO_INCREMENT PRIMARY KEY,
varchar(20) title,
varchar(255) description,
int(11) start_date UNSIGNED,
int(11) end_date UNSIGNED,
timestamp created DEFAULT CURRENT_TIMESTAMP,
json members
)
我计划用 members json 对象填充 members 字段,该对象将是一个包含用户 ID (uid) 和参加成员状态的对象数组,例如:
{members: [{uid:1, status:0}, {uid:2, status:1}]}
但是我很难找到任何描述如何正确引用此对象结构来操作它的资源,例如,如果我希望将用户“注册”到事件中,将他们的对象附加到成员数组中,例如: (members.push({uid:3, status:0}),或者在给定用户被确认或退出事件后更新他们的状态,例如:(update members set status = 2 where uid = 1; )。
我知道我使用的伪 c 是 js 和 mysql 的组合,我也知道 MySQL 现在具有用于操作这种数据类型的 JSON 函数,但我对处理这种特殊情况的最佳方法感到困惑用例。
非常感谢您提前提供的任何建议!
【问题讨论】:
-
我觉得我应该澄清一下;我知道我可以通过将 json 字段的全部内容拉入一个对象来完成这项工作,在服务器端操作该对象,然后将该对象重新写入数据库,但是我知道现在有 MySQL 函数应该使这种方法变得多余。我正在寻找与操作具有这种特定结构的 json 对象有关的 mysql 函数的解释。
-
我没有这方面的经验,但mysqltutorial.org/mysql-json 似乎有解压说明。
标签: mysql sql arrays json database-design