公司数据库数据被我更新成 null 了,救命!

2022-07-11 16:30:58 +08:00
 kaiger

数据库有些数据值为: "保密"

前面我在用 regex_replace 函数更新一些不规范数据

我顺手就用 update lawyers set working_years=regexp_replace(working_years, "保密", null); 把 "保密" 更新为 null

结果 working_years 字段全部被更新为 null !!!

有办法恢复吗,大佬救命!!!

11971 次点击
所在节点    MySQL
79 条回复
kaiger
2022-07-11 17:15:35 +08:00
@MarkP #40

可能昨天晚上通宵带妹?脑袋不清醒
aitaii
2022-07-11 17:17:36 +08:00
有一个能跑就行
kaiger
2022-07-11 17:19:10 +08:00
@Jooooooooo #39

谢谢分享经验
Ufo666
2022-07-11 17:21:28 +08:00
怎么解决的!哇
fmumu
2022-07-11 17:24:20 +08:00
生产环境改数据一定要备份再执行,开日志
cubecube
2022-07-11 17:24:33 +08:00
这种 update 或者 delete 都还好,都有 log ,dba 都能恢复

truncate 或者 drop 那种很难抢救回来(只能依靠之前的备份数据,会有丢失)
neptuno
2022-07-11 17:25:51 +08:00
测试数据库都不测一下的吗?
novolunt
2022-07-11 17:26:38 +08:00
@aitaii 哈哈哈哈哈哈哈
两个都跑不掉怎么办
james2013
2022-07-11 17:26:48 +08:00
跑路了?
vinceall
2022-07-11 17:27:02 +08:00
update 不加 where dba 能让你跑?
MarkP
2022-07-11 17:27:27 +08:00
@MarkP 才发现 where 字段名字复制错了
shalk
2022-07-11 17:27:28 +08:00
怎么解决的,提了几个桶
Zerek
2022-07-11 17:28:07 +08:00
@kaiger
最后怎么恢复数据的?
toneewang
2022-07-11 17:29:32 +08:00
通过 binlog 可以回滚的吧,就是恢复成本的事情
TAFMT
2022-07-11 17:31:33 +08:00
最后怎么恢复数据的?+1
book1925
2022-07-11 17:33:25 +08:00
事情怎么解决的?严重关注
controller
2022-07-11 17:53:08 +08:00
改错数据库后端程序员必经之路。如果改错的是关键数据,只能停掉相关服务,防止错上加错,然后从备份和 binlog 恢复。如果不是关键数据,还能从业务逻辑里面重新搞到数据
winglight2016
2022-07-11 17:57:25 +08:00
如果数据库是云平台上的 rds ,那就简单了。。。自建的就要靠自己定时备份了
yeyypp92
2022-07-11 22:27:32 +08:00
一般这种更新,最好还是先 select 出来,确定下,再更新
sparkssssssss
2022-07-11 22:36:37 +08:00
有 binlog 为啥不能恢复呢,直接 binlong 反向操作下就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/865464

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX