gpt4 book ai didi

php - 如何在 MySql 中更新 Json 数据类型?

转载 作者:行者123 更新时间:2023-11-29 05:09:14 25 4
gpt4 key购买 nike

我的表中有一列是 Json 数据类型。在此专栏中,我这样记录电话数据:

{“0”:“044-33565388”,“1”:“044-33565399”,“2”:“044-33565311”

对于像这种形式的商店数据,我使用 textarea 并在新行中输入每个电话号码。接下来将数据传递给解析数据的 php 文档,如下所示:

$phoneList = json_encode( explode("\r\n", $input), JSON_FORCE_OBJECT)

并在mysql中插入数据。现在我想更新或删除一些 JSON 数据。我尝试这样的事情但出现错误:

查询:

UPDATE `sellers` SET `seller_phone` = JSON_SET(`seller_phone`, {"0":"33565388","1":"33565399"}) WHERE `seller_id` = 8

错误:

您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在 '"0":"33565388","1":"33565399","2":"33565311"}) WHERE seller_id = 8' 附近使用的正确语法1

MySql 版本:5.7.9

现在,我该怎么做才能解决这个问题?

最佳答案

您可以使用 JSON_SET 进行更新,使用 JSON_REMOVE 进行未设置的键。

使用下面的查询来更新 -

UPDATE `sellers` SET `seller_phone` = JSON_SET(`seller_phone`, "$.0", "33565388", "$.1", "33565399") WHERE `seller_id` = 8;

然后运行下面以取消设置最后一个键 -

UPDATE `sellers`
SET `seller_phone` = JSON_REMOVE(`seller_phone`, "$.2") WHERE `seller_id` = 8

关于php - 如何在 MySql 中更新 Json 数据类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42453402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com