我导出了包含JSON列的数据库.迁移到新服务器后,每次导入都会崩溃,出现如下错误:

无法从字符集为"binary"的字符串创建JSON值

在stackoverflow上,我找到了这篇帖子,但不适合我:

该文件为2GB,无法打开该文件.

有人想导入我的数据库文件吗?

推荐答案

您可以对导出的SQL文本应用正则表达式,将二进制字符串转换为可插入格式.当我面对这个问题时,这是我快速而肮脏的解决方法

(X'[^,\)]*')
CONVERT($1 using utf8mb4)

应用这个正则表达式意味着

INSERT INTO json_table (json_column) VALUES (X'7B22666F6F223A2022626172227D');

现在将成为

INSERT INTO json_table (json_column) VALUES (CONVERT(X'7B22666F6F223A2022626172227D' using utf8mb4));

Mysql相关问答推荐

如何有效地计算共同的朋友/追随者?

MySQL查询基于上次访问时间戳更新用户的问题

MySQL::JSON列的添加使SELECT查询非性能(当需要临时表时)

仅获取我不是最后一个 comments 者的博客帖子

最终的自联表是如何记住关联的呢?

MYSQL 删除两个已知字符串之间的字符串

MySQL 使用了错误的索引

如何在更新语句中使用多个子字符串函数?

MySQL在定义表的位置后抛出错误

mysql - 如何加入表中的动态列

mysql从另一个表中 Select 不相等的值

当您无法修复表时,如何修复 MySQL不正确的密钥文件错误?

MySQL函数查找两个日期之间的工作日数

MySQL触发器在某些条件下防止INSERT

如何在 MySQL 中为用户设置默认架构

从mysql中的大表中快速 Select 随机行

Ubuntu 中的 MySQL JDBC jar 文件在哪里?

为什么 GRANT 在 MySQL 中不起作用?

AWS RDS 实例升级停机时间

如何使用 Java 更改数据库连接中的 MySQL 时区?