sql >> Databasteknik >  >> RDS >> Mysql

Hur uppdaterar du flera fält från en annan tabell i mysql?

Frågan du vill ha skulle se ut ungefär så här:

UPDATE amdashboard a, ASCNCOAClean b SET
   a.ASCID            = b.id,
   a.ASCFirst         = b.firstname,
   a.ASCLast          = b.lastname,
   a.ASCOtherName     = b.listingspousename,
   ...
   a.ASCMaritalStatus = b.MaritialStatus
WHERE a.actorsfirst = b.firstname;

Observera att du måste ersätta ... med resten av spaltföreningarna skrev jag inte.

Men var försiktig med det, något säger mig att den här frågan kommer att göra något väldigt fel med din databas, eftersom du inte relaterar tabellerna med en unik nyckel. Om det finns två poster med samma ASCNCOAClean.firstname du kommer säkert att förlora data.

Observera också att den kommer att uppdateras befintlig poster på amdashboard , inte lägga till nya. Om din avsikt är att migrera data från ASCNCOAClean till amdashboard , förutsatt amdashboard är en helt ny, tom tabell, då är frågan du vill ha denna:

INSERT INTO amdashboard (
    ASCID, ASCFirst, ASCLast, ASCOtherName, ASCAdd1, ASCAdd2, ASCCity, ASCState, 
    ASCZip, ASCZip4, ASCY2007, ASCY2008, ASCY2009, ASCY2010, ASCY2011, ASCY2012,
    ASCEthnicity, ASCGender, ASCMaritalStatus
)
SELECT
    id, firstname, lastname, listingspousename, add1, add2, city, state,
    zip, zip4, y2007, y2008, y2009, y2010, y2011, y2012, Ethnicity, Gender,
    MaritialStatus
FROM ASCNCOAClean;



  1. Regular Expression (RegEx) för IPv6 Separat från IPv4

  2. En begränsning som bara tillåter en av två tabeller att referera till en bastabell

  3. Hur JulianDay()-funktionen fungerar i SQLite

  4. MySQL:s HEX() och UNHEX() motsvarighet i Postgres?