2016-12-23 3 views
1

Neuer MySql-Benutzer hier.IDs von einer Tabelle in eine andere einfügen, basierend auf einer anderen Spalte

Angenommen habe ich zwei Tabellen:

Table1 rownames -> EXTERNAL_ID, Name, Ort

Table2 rownames -> id, Name, Typ, Wert, Jahr

Was ich tun möchte, ist um ein Skript zu schreiben, das in Table2.id den Wert von Table1.external_id auffüllt, wenn in Table1.name und Table2.name eine Übereinstimmung vorhanden ist.

Ich dachte über so etwas nach, aber leider funktioniert es nicht.

insert into Table2.id 
    select Table1.external_id 
    where Table1.name = Table2.name 
+0

Sie ** alias nicht erstellen ** in * Einsatz * Aussage – denny

Antwort

1

Wenn Sie einen Einsatz hier tun, was Sie tun, ist eine ganze Reihe von Dubletten erstellen. Was Sie brauchen, ist ein Update

beitreten
UPDATE table1 INNER JOIN table2 set table2.id = table1.external_id 
WHERE Table1.name = Table2.name; 

Sie brauchen keine Skript für diese, gerade diese geben Sie in den MySQL-Client, phpMyAdmin etc

+0

Funktioniert wie ein Charme! Danke, – victorj

+0

froh, dass ich geholfen habe – e4c5

1

versuchen Sie dies:

insert into Table2 (id) 
    select Table1.external_id 
    where Table1.name = Table2.name; 
Verwandte Themen