从sql备份文件更新1列

the*_*ect 0 mysql sql phpmyadmin

srSignals在一个名为的数据库中有一个表,signals如下所示:

animal      inserttime              id
dog         1970-00-00 00:00:00     3042
cat         1970-00-00 00:00:00     3041
monkey      1970-00-00 00:00:00     3040
hamster     1970-00-00 00:00:00     6
Run Code Online (Sandbox Code Playgroud)

我的所有inserttime价值观都被重置为1970年.幸运的是,我signals使用正确的inserttime值(和相应的id值)备份数据库.调用备份文件signals.sql.gz(signals.sql显然在gz压缩内部).

我的问题是这样的:使用phpMyAdmin,我怎么能updateinserttimeid现有的表=的id备份文件.请注意,我不想完全恢复表,因为在过渡期间已将其他内容添加到数据库中.

我不确定最好的方法 - 恢复phpMyAdmin的功能?一些花哨的更新/加载?

谢谢!

Jim*_*Jim 5

将备份还原到其他数据库,然后执行更新:

UPDATE database1.table, database2.table
SET database1.table.field = database2.table.field
WHERE database1.table.idfield = database2.table.idfield
Run Code Online (Sandbox Code Playgroud)

  • 我最终采用了这种解决方案,虽然方式略有不同:我从.sql文件中提取了我需要的备份表,创建了一个新表并导入了备份表(相同的数据库),然后运行了UPDATE命令来解决我的问题.问题:UPDATE table1 INNER JOIN table2 ON`table1` .id` =`table2` .`id` SET`table1` .inserttime` =`table2`.`inserttime` (3认同)