提问人:W F 提问时间:5/1/2020 更新时间:5/7/2021 访问量:98
如何将 send_long_data 用于 MySQL JSON 列?
How do I use send_long_data for a MySQL JSON column?
问:
我目前正在将 JSON 数据存储在 gzip 压缩的 LONGBLOB 列中。我想将此列更改为 JSON 列,以便 O 可以使用 MySQL 中的 JSON 函数。
但是,当我尝试使用带有JSON列的MySQL插入行时,我意识到insert_id始终为0,并且所有插入都失败了。然后我检查了 PHP MySQLi 文档,并意识到 send_long_data(我用来发送 JSON 数据)仅适用于 TEXT 和 BLOB 列。
是否有适用于 JSON 列的 send_long_data 替代方案?使用 bind_param 和字符串发送 JSON 数据是行不通的,因为我相信我的大部分数据都会超过 max_allowed_packet。
答:
0赞
Alex
5/7/2021
#1
你可以这样做,但这是不好的做法:
创建一个 TEXT 字段,将数据插入其中,然后使用 UPDATE 将 TEXT 字段中的数据复制到 JSON,然后通过 UPDATE 清除 TEXT 字段。
评论