-1

したがって、同じデータベースに次の列を持つ2つのMySQLテーブルがあります(すべてNULLではありません):

tbl1: (url、urlkey、ドメイン、作成済み、さらに 8 列..)

tbl2: (url、urlkey、正規)

現在、これら 2 つのテーブルにはどちらも 100,000 行あり、同じ URL、urlkey 値に対応しています (同じ順序で挿入されていても)。

私がしたいことは、ドメイン列を tbl1 から tbl2 にコピーし、関連するすべてのドメイン行の値を tbl1 からコピーすることです。したがって、この後、tbl2 は (url, urlkey, canonical, domain) のようになり、各行に tbl1 と同じ url、urlkey、domain 値が含まれている必要があります。

SELECT INTO と INSERT INTO を含むいくつかのことを試しましたが、ドメイン列の行の値を tbl2 に正常にコピーできませんでした。

私がいる特定の状況でこれを行う方法を知っている人はいますか? 教えてください、みなさんありがとう

-- ネイサン

4

2 に答える 2

2

まず、新しい列をに追加する必要があります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
于 2014-06-16T17:34:56.877 に答える