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 - 查询不起作用
当查询中传递的数据与数据库中已有的数据相同时,如何确定 MySQL 更新查询是不是成功?