2016-06-21 86 views
3

总新手,试图弄清楚。写了一个错误的查询,并删除了我的主客户表中的大多数姓和名。我在不同的表中有名字,但似乎不知道如何根据每个唯一的ID将名称firstlast插入我的主表中。使用相应的唯一ID更新另一个表中的数据行

这是我迄今为止所尝试的,完全在我的头上。

UPDATE `Master_table` SET `first` = (SELECT `first` FROM `table_1`) WHERE `id` IN(SELECT `id` FROM `table_1`); 

任何帮助和怜悯,将不胜感激

回答

2

遗憾听到的缺失。我可以看到你的查询在哪里,但在UPDATE声明中不允许使用相关的子查询(尽管这里没有关联,这是问题真正开始的地方)。相反:

UPDATE Master_table, table_1 
SET master_table.first = table_1.first, 
    master_table.last = table_1.last 
WHERE master_table.id = table_1.id; 

您可以深入探索MySQL's UPDATE help page。但基本思想是列出UPDATE条款中涉及的表格以及WHERE条款中的关系(如联接)。那么你的SET是非常简单的。

+0

真棒,谢谢JNevill!我会按照你的建议阅读更多内容。 – NateB

相关问题