2016-08-18 4 views
-2

Hallo, ich habe eine Liste von 3000 IDs in einer temporären Tabelle namens Keepers. Ich muss die Accounts Tisch verbinden eine innere Verknüpfung wie folgt zu tun:Abfrage MySQL aktualisieren Datensätze in einer Tabelle Beitritt zu einer temporären Tabelle

select * from keepers a 
join accounts_cstm b 
on a.keepers_id=b.id_c 

Was ich will ist eine Aktualisierungsabfrage tun erstellen, wo ich keepers_c im accounts_cstm zu Flagge, die 3000 Datensätze als Bewahrer aktualisieren. Ich möchte die Abfrage so automatisieren, dass sie die Zeilennummer in meiner Keeper-Tabelle verwendet, um die account_cstm zu aktualisieren. id_c mit mysql versucht, in vieler Hinsicht zu sehen, aber es war nicht einfach.

Keepers Tabelle

Row_Number keepers_id 
1 84d70138-161e-8033-6a19-53d260aa8309 
2 103941fc-481e-7c58-1726-53cfc779c6fd 
3 9a70736d-3971-a873-ee3e-53d259975dd2 
4 346a27d7-47f8-953f-448e-53cfc97ae3ae 
5 ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9 

Tabelle Konten

# id_c email_c title_c firstname_c lastname_c keeper_c 
9378d06d-5e6e-ce46-2549-53d012f43e44 NULL NULL NULL NULL  NULL 
ebb7aab5-ab5b-ebf9-0cfc-53cfc81a99b9 NULL NULL NULL NULL KEEPER 
346a27d7-47f8-953f-448e-53cfc97ae3ae NULL NULL NULL NULL NULL 
d8480e38-dd8b-f3c9-e947-53d2601a3a2e NULL NULL NULL NULL KEEPER 
9a70736d-3971-a873-ee3e-53d259975dd2 NULL NULL NULL NULL KEEPER 
b4bd7137-eb35-bc48-67c6-53e943f02042 NULL NULL NULL NULL  NULL 
103941fc-481e-7c58-1726-53cfc779c6fd NULL NULL NULL NULL KEEPER 
f042b165-794b-80a9-7643-53d43337c454 NULL NULL NULL NULL  NULL 
124fc26a-5ba2-1e77-c4d5-54b31292fc68 NULL NULL NULL NULL  NULL 
6638375b-578d-c17f-7a12-5539796e9774 NULL NULL NULL NULL  NULL 
84d70138-161e-8033-6a19-53d260aa8309 NULL NULL NULL NULL KEEPER 
+0

Können Sie die Spalten für beide Tabellen buchen? – Adam

+0

Außerdem wären Beispieldaten und erwartete Ergebnisse hilfreich. – sgeddes

+0

Keepers-Spalten: Row_Number, Account_Keepers_Id – Leena

Antwort

0

Die Abfrage, die Sie brauchen, ist:

UPDATE keepers a 
INNER JOIN accounts_cstm b ON a.keepers_id=b.id_c 
SET b.keeper_c = a.row_number 
0

Ich glaube nicht, müssen Sie die Row_Number Spalte. Basierend auf den Beispieldaten gehe ich davon aus, dass Übereinstimmungen den Wert keeper_c auf 'KEEPER' setzen sollen. Bitte lassen Sie mich wissen, ob diese Lösung für Sie funktioniert:

UPDATE accounts_cstm a INNER JOIN keepers k ON a.id_c = k.id_c 
    SET a.keeper_c = 'KEEPER' 
; 
Verwandte Themen