sql >> Databasteknik >  >> RDS >> Mysql

Hur kopierar man en rad och infogar i samma tabell med ett autoinkrementfält i MySQL?

Använd INSERT ... SELECT :

insert into your_table (c1, c2, ...)
select c1, c2, ...
from your_table
where id = 1

där c1, c2, ... är alla kolumner utom id . Om du uttryckligen vill infoga med ett id av 2 inkluderar sedan det i din INSERT kolumnlista och din SELECT:

insert into your_table (id, c1, c2, ...)
select 2, c1, c2, ...
from your_table
where id = 1

Du måste ta hand om en eventuell dubblett av id av 2 i det andra fallet förstås.



  1. SQL :hitta rader och sortera efter antal matchande kolumner?

  2. SQL Server-markörtyper - Vad är skillnaden mellan LOKAL OCH GLOBAL markör | SQL Server Tutorial / TSQL Tutorial

  3. Skickar tabellnamnet som parameter för förberedd sats

  4. Okänd kolumn i fältlistan