我在MySQL中有以下表格。
我在Table1中有25000行,而我的Table2包含20000行。表2中的我的TID是引用Table1的主键ID的外键。如果LastName为NULL,则Table2中不会出现这些ID。现在,我正在尝试仅将两个表合并为具有姓氏的表。
我重新定义了Table2的模式,如下所示。
现在,我尝试了以下查询,将firstname和lastname值插入表2中。
insert into Table2 (TFirstName, TLastName) select FirstName,LastName from Table1 where ID = Table2.TID
但是,上面的查询给了我一个错误。我可以使用游标/存储过程。但是如果可能的话,我们希望通过查询来实现它。
答案 0 :(得分:2)
我认为你想在这里做的是UPDATE而不是INSERT查询。 INSERT用于创建其他行,而UPDATE用于更改值。
UPDATE Table2 JOIN Table1
ON Table2.TID = Table1.ID
SET Table2.TFirstName = Table1.FirstName,
SET Table2.TLastName = Table1.LastName;