Mysql JSON多维数组

时间:2016-10-19 10:26:28

标签: mysql arrays json

哪个表单应该在mysql字段中有json代码? 我需要用户数据(user_id是关键)有3个值(3个信息:姓名,年龄,性别)

145:"name,age,sex",
148:"name,age,sex",
200:"name,age,sex"

我使用的是mysql 5.6版,数据将插入SQL代码

将它以这种方式存储在mysql中以使用php和json_decode进行检索是否正确?

[{236:"paul,26,1"},{2515:"fred,42,1"},{2515:"jane,21,0"}]

谢谢

2 个答案:

答案 0 :(得分:1)

您是否希望能够编写select * from users where sex=1之类的查询?如果是这样,请不要将JSON存储为文本。将每个值(id,name,age,sex)存储在自己的列中。

即使您确实希望将JSON存储为字符串,它可能会更好地组织如下:

[
{"id":236,"name":"paul","age":26,"sex":1},
{"id":2515,"name":"fred","age":42,"sex":1},
{"id":2516:"jane","age":21,"sex":0}
]

查询后你需要稍微操作一下,但你会得到更有意义的数据。

但是,如果您想要存储该文本,以便稍后可以将其作为文本检索,那么您所拥有的就可以了。

答案 1 :(得分:0)

使用此表单中的数据

[{236:"paul,26,1"},{2515:"fred,42,1"},{2515:"jane,21,0"}]

和json_decode($ myfield); 我得到NULL

如果我回复$ myfield,我会得到存储在数据库中的东西

N

有什么问题
[{236:"paul,26,1"},{2515:"fred,42,1"},{2515:"jane,21,0"}]

如果我在这里解析它http://json.parser.online.fr/ 我收到语法错误