我有以下问题。
我有一个包含以下字段的表(示例):
id, id2, id3, id4
由于错误,我意外删除了id3
的所有值。 (他们现在是NULL
。
我有一个较旧的第二个文件(备份),因此它与损坏的表没有相同的计数。那里有id3
。
如何“加入”这些表,至少恢复更大的部分?仅将id3
从未损坏的表中插入损坏的表中?
我试过了:
UPDATE table1 SET `id3` = SELECT `id3` FROM table2
在我的情况下,只有phpMyAdmin或SQL语法解决方案(没有控制台)才能工作......
请帮忙!
答案 0 :(得分:1)
假设, particularly with an index on
是唯一属性。
您只需运行此查询:
id
答案 1 :(得分:0)
如果我们假设一个,两个或三个id定义每一行,那么您可以使用join
:
update table1 t1 join
table2 t2
on t1.id = t2.id
set t1.id3 = t2.id3;
这假设id
在两个表中是唯一的。您可能希望使用更复杂的表达式:
update table1 t1 join
table2 t2
on t1.id = t2.id and t1.id2 = t2.id2 and t1.id4 = t2.id4
set t1.id3 = t2.id3;