sql >> Database teknologi >  >> RDS >> Mysql

INSERT INTO...SELECT for alle MySQL-kolonner

Den korrekte syntaks er beskrevet i manualen . Prøv dette:

INSERT INTO this_table_archive (col1, col2, ..., coln)
SELECT col1, col2, ..., coln
FROM this_table
WHERE entry_date < '2011-01-01 00:00:00';

Hvis id-kolonnerne er en kolonne med automatisk stigning, og du allerede har nogle data i begge tabeller, kan du i nogle tilfælde udelade id'et fra kolonnelisten og generere nye id'er i stedet for at undgå at indsætte et id, der allerede eksisterer i det originale bord. Hvis din måltabel er tom, vil dette ikke være et problem.



  1. Henter dato i sql-server, CURRENT_TIMESTAMP vs GetDate()

  2. Forkert sortering/sortering/rækkefølge med mellemrum i Postgresql 9.4

  3. Brug Oracle til at kombinere tre tabeller til én med PIVOT

  4. Sådan fungerer ON CONFLICT i SQLite