繁体   English   中英

mysql插入或选择到-将列从tbl1复制到tbl2

[英]mysql insert into or select into - copy column from tbl1 into tbl2

因此,我在同一数据库中有2个MySQL表,其中包含以下列(所有列都不为空):

tbl1 :(已创建url,urlkey,domain,另外8列。)

tbl2:(URL,URLKEY,规范)

这两个表现在都具有100,000行-它们对应于相同的url和urlkey值(甚至以相同的顺序插入)。

我想做的是:将tbl1中的域列复制到tbl2中,并将所有相关的域行值复制到tbl1中。 因此,在此之后,tbl2应该看起来像:(URL,URLKEY,规范,域),并且每行中的URL,URLKEY,域值应与tbl1相同。

我已经尝试了一些涉及SELECT INTO和INSERT INTO的事情,但是都没有成功将domain列的行值复制到tbl2中。

有谁知道如何针对我所处的特定情况执行此操作? 请让我知道,谢谢大家

-内森

首先,您需要将新列添加到tbl2

ALTER TABLE tbl2 ADD domain char(100) //or whatever the type is

然后,您需要像这样填充它:

UPDATE tbl2
JOIN tbl1 ON tbl1.url = tbl2.url AND tbl1.urlkey = tbl2.urlkey
SET tbl2.DOMAIN = tbl1.DOMAIN
CREATE TABLE temp(SELECT * FROM tbl2);  
ALTER TABLE tbl2 ADD COLUMN domain char(10);  
TRUNCATE tbl2;  
INSERT INTO tbl2 SELECT url,urlkey,domain, temp.canonical FROM tbl1 JOIN temp  
                                      ON tbl1.urlkey = temp.urlkey

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM