【发布时间】:2021-09-17 07:43:18
【问题描述】:
我对 MySQL 中的 JSON 数据类型完全陌生。几天前我安装了 MySQL 5.7.34,现在我正在使用它。
所以,我在MySQL 5.7.34 中有下表:
CREATE TABLE tb_products (
product_id int(11) NOT NULL AUTO_INCREMENT,
product_name varchar(255) NOT NULL,
product_attributes json NOT NULL,
PRIMARY KEY (product_id)
);
此表中的一行如下所示:
product_attributes 字段:
[
{
"site": "site1",
"categories": [
"site1 cat1",
"site1 cat2",
"site1 cat3"
]
},
{
"site": "site2",
"categories": [
"site2 cat1",
"site2 cat2"
]
}
]
我的第一个问题是,我是否以适当的格式放置了 JSON 数据以进行各种进一步的操作?
或者是否应该有一个密钥attributes以便于访问数据:
{
"attributes": [
{
"site": "site1",
"categories": [
"site1 cat1",
"site1 cat2",
"site1 cat3"
]
},
{
"site": "site2",
"categories": [
"site2 cat1",
"site2 cat2"
]
}
]
}
现在,我需要执行以下操作,但我不知道该怎么做:
- 如何选择
site = site1所在的行? - 如何选择
site = site1和categories = site1 cat1所在的行? - 如何将另一个对象
{"site": "site3", "categories": [...]添加到product_attributes列? - 如何添加另一个数组元素
site1 cat4wheresite = site1? - 如何删除属性
site = site1? - 如何从
site1 cat1wheresite = site1的类别中删除数组值?
【问题讨论】:
-
我已经阅读了这个教程。它非常简短且不完整。不能解决我的目的。
-
每个(问题)帖子一个问题/问题请不要六个甚至七个。如果您有多个问题,请打开多个帖子。
标签: mysql mysql-5.7 mysql-json