我正在使用MySQL 5.7和JSON数据类型以及PHP。

首先,我更新我的数据。

UPDATE car SET attributes = JSON_SET(`attributes`'$.A','Audi','$.B','BMW','$.C','Cadillac')


结果是正确的。

{
"A": "Audi",
"B": "BMW",
"C": "Cadillac"
}


然后,我尝试用“”更新“ B”。然后我的数据看起来像这样。

{
"A": "Audi",
"B": "",
"C": "Cadillac"
}


但我希望它看起来像这样。 (我想删除“ B”,如果它为空)。

{
"A": "Audi",
"C": "Cadillac"
}


我该如何正确做呢?

最佳答案

简单:

UPDATE `car` SET `attributes` = JSON_REMOVE(`attributes`, '$.B');

10-06 14:37