MySQL

2010-08-03 26 views
17

ile birden fazla veritabanını seçin ve Ekle Aynı sunucuda bulunan 2 farklı veritabanında 2 özdeş tablo var. Verileri tablodan diğerine kopyalamanın en iyi yolu ne olurdu?MySQL

+0

Neden ilk etapta böyle gereksiz veri yok? – NullUserException

+0

@NullUserException Bunun eski bir yorum olduğunu biliyorum, ancak veri alt kümelerini test/hata ayıklama için ayrı bir veritabanına ayıklamak istediğinizde kullanışlıdır. –

cevap

30

Kullanım: var

INSERT INTO db1.table1 
SELECT * 
    FROM db2.table2 t2 
WHERE NOT EXISTS(SELECT NULL 
        FROM db1.table1 t1 
        WHERE t1.col = t2.col) 

basitleştirilmiş ama etc/endişelenecek bir birincil anahtar/auto_increment varsa dışarı bırakılır.

+1

Ya db1 ve db2 farklı ip adreslerinde? –

3

Sadece, bunu gibi herhangiWHERE maddesini kullanabilir OMG midilli Yanıta hafifçe ayrıntılı için:

INSERT INTO db1.tablename 
SELECT * 
FROM db2.tablename src 
WHERE src.lastlogin >= '2013-10-31 07:00:00'