mysql 数据迁移与查询更新

Posted 李若盛开

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 数据迁移与查询更新相关的知识,希望对你有一定的参考价值。

业务前景:在旧表中新增ch类型字段,以ch字段作为查询条件,为了不产生影响,需要对ch字段进行更新操作,ch字段源于base字段 json格式中的一部分。 

 解决方案:

1)  字段迁移

update reported_data set ch = base;

 

2) 查询后更新

update reported_data set ch = (
  SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(ch,\'"\',8),\'"\',-1) AS ch_ from (SELECT * from reported_data) test WHERE reported_data.id = test.id
)

 

WAMP 更新和迁移后,mysql 表没有结构/主键

【中文标题】WAMP 更新和迁移后,mysql 表没有结构/主键【英文标题】:After WAMP update & migrate, mysql tables have no structure / primary keys 【发布时间】:2016-05-05 01:19:11 【问题描述】:

我们已将 WAMP 移至服务器上的另一个驱动器 - 旧版本是 WAMP 2.4,新版本是 WAMP 2.5。我们在新驱动器上安装了全新的 2.5,并从旧安装中复制了 www 和 mysql 数据文件夹。

它正在“工作”——网站似乎运行良好——但我发现数据库结构似乎已经消失了。所有数据库表都没有主键,在 phpMyAdmin 中也没有可见的结构。

在 mysql 数据文件夹以及新数据库中引入新 WAMP 安装的数据库就是这种情况:我可以从远程服务器导出具有结构的数据库,但在导入本地 WAMP 服务器后,结构被剥离.

两个问题:

(如何)恢复数据库结构?

如何创建或导入具有结构的新数据库?

【问题讨论】:

【参考方案1】:

奇怪的是,在尝试解决问题然后撤消更改后,它自行解决了。我们尝试了什么:

重新启动所有 WAMP 服务,退出并重新打开 WAMP - 不成功。 将整个旧 mysql 文件夹复制到新的 WAMP 安装,尝试使用旧 mysql 版本运行 mysql 服务 - 不成功。 恢复到 WAMP 2.5 附带的较新版本的 mysql(恢复到故障排除前的初始状态),重新启动服务 - 不成功。 等待 10 分钟 - 表结构返回,工作正常。

这让我相信服务器上存在与另一个进程或条件的交互,而不是 WAMP 的错误配置。

【讨论】:

以上是关于mysql 数据迁移与查询更新的主要内容,如果未能解决你的问题,请参考以下文章

从 MySQL 5.6.35 迁移到 MariaDB 10.6.3 - 查询不起作用

阿里云mysql8.0mysql性能指标

当查询中传递的数据与数据库中已有的数据相同时,如何确定 MySQL 更新查询是不是成功?

我的 php artisan 迁移发生了啥

使用 PostgreSQL 更新 Laravel 迁移中的枚举列

MySQL数据库基础(子查询与链接)(持续更新中)