2016-04-11 19 views
1

Tabloyu bir veritabanından başka bir veritabanına kopyalamaya çalışıyorum ancak bir veritabanı alanından yinelenen değer değil.Mysql sorgusunda database.table.field hesabı her zaman başarısız olur

INSERT INTO database.table1 (`fielda`, `fieldb`, `fieldc`) 
SELECT `fielda`, `fieldb`, `fieldc` 
FROM database.table2 
WHERE database.table2.fielda 
    NOT IN database.table1.fielda 

Her zaman bana bir hata mesajı veriyor.

+0

hata mesajı nedir? –

+0

Son satırda bir hata var. –

+0

Ayrılmış bir kelime olduğu için 'veritabanı' dışına çıkmanız gerekir. – apokryfos

cevap

0

bu deneyin:

INSERT INTO database.table1 (`fielda`, `fieldb`, `fieldc`) 
SELECT `fielda`, `fieldb`, `fieldc` 
FROM database.table2 
WHERE database.table2.fielda 
NOT IN (select `fielda` from database.table1) 
+0

Daha önce bahsettiğim halde neden tekrar seçmem gerekiyor? –

+0

@al_kasih_empatix: - Veritabanınızın tablo1'inde bulunmayan 'fielda' sütununu seçmelisiniz. Bu yüzden, NOT IN cümleciğinizde bu 'fielda 'listesini almanız gerekir. –

İlgili konular