Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Erste Instanz eines Datensatzes aktualisieren

Diese Technik verbindet die Tabelle in einer Unterabfrage mit sich selbst, stimmt aber nur mit einer Zeile überein (basierend auf contact_id und E-Mail-Abgleich. Der Trick besteht darin, dass die Unterabfrage nur eine der E-Mail-Adressen mit MIN zurückgibt, theoretisch die erste alphabetisch (nicht zuverlässig, aber Sie sagten, das sei egal).

Ich habe dies mit guten Ergebnissen getestet.

UPDATE 
  email 
  JOIN (SELECT contact_id, MIN(email) as email 
        FROM email GROUP BY contact_id) as singles 
  USING(contact_id, email) 
set is_primary=1;