Mysql 从sql备份文件更新1列

Mysql 从sql备份文件更新1列,mysql,sql,phpmyadmin,Mysql,Sql,Phpmyadmin,我在一个名为signals的数据库中有一个表srSignals,看起来是这样的: 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 我所有的inse

我在一个名为
signals
的数据库中有一个表
srSignals
,看起来是这样的:

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
我所有的
inserttime
值在发生事故时被重置为1970。幸运的是,我有一个数据库
signals
的备份,其中包含正确的
inserttime
值(以及相应的
id
值)。备份文件名为
signals.sql.gz
(显然,gz压缩中包含
signals.sql

我的问题是:使用phpMyAdmin,如何更新
inserttime
,其中现有表的
id
=备份文件的
id
。请注意,我不想完全恢复该表,因为在此期间已将其他内容添加到数据库中

我不确定最好的方法是什么——恢复phpMyAdmin的功能?一些奇特的更新/加载


谢谢

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

UPDATE database1.table, database2.table
SET database1.table.field = database2.table.field
WHERE database1.table.idfield = database2.table.idfield

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

UPDATE database1.table, database2.table
SET database1.table.field = database2.table.field
WHERE database1.table.idfield = database2.table.idfield

Jim的答案更好(虽然它不一定是不同的数据库,只是不同的表名)。获取错误“#1054 column database2.table.idfield”不存在于where子句中,但我可以向您保证该列确实存在。我需要在这里使用join语句来实现这一点吗?我最终使用了这个解决方案,但方式略有不同:我从.sql文件中提取了所需的备份表,创建了一个新表,并导入了备份表(相同的数据库),然后运行一个更新命令来解决我的问题:在
table1
id
=
table2
id
SET
table1
inserttime
=
table2
inserttime
吉姆的答案更好(虽然它不必是不同的数据库,只需要不同的表名).getting error“#1054 column database2.table.idfield在where子句中不存在,但我可以向您保证该列确实存在。是否需要在此处使用join语句来实现此功能?我最终使用了此解决方案,但方式略有不同:我从.sql文件中提取了所需的备份表,创建了一个新表,并将RTE备份表(同一数据库),然后运行更新命令来解决我的问题:在
table1
id
=
table2
id
设置
table1
inserttime
table2
inserttime