sql >> Database >  >> RDS >> Mysql

Voeg ontbrekende records van de ene tabel naar de andere in met mysql

Het is ook mogelijk om LEFT OUTER JOIN . te gebruiken daarom. Dit voorkomt overhead voor subquery's (wanneer het systeem een ​​subquery één keer uitvoert voor elke record van buitenste query) zoals in het antwoord van John Woo, en vermijdt onnodig werk door reeds bestaande 800 records te overschrijven zoals in die van gebruiker2340435:

INSERT INTO b
SELECT a.* FROM a
LEFT OUTER JOIN b ON b.id = a.id
WHERE b.id IS NULL;

Dit selecteert eerst alle rijen van A en B tabellen inclusief alle kolommen van beide tabellen, maar voor rijen die bestaan ​​in A en bestaan ​​niet in B alle kolommen voor B tabel is NULL .Dan filtert het alleen die laatste rijen (WHERE b.id IS NULL ), en ten slotte voegt het al deze rijen in B tafel.



  1. Kolomkop verwijderen in het uitvoertekstbestand

  2. Hoe zorg ik ervoor dat een gematerialiseerde view altijd up-to-date is?

  3. MySQL-query werkt in phpmyadmin maar niet in php

  4. brew services lijst toont mysql actief maar kan geen verbinding maken