Idag gör jag så att jag öppnar ett recordset, SELECTar raderna jag vill kopiera, och sedan loopar igenom raderna och kör ett INSERT en gång per iteration. Kan jag med SQL-koden enkelt bara kopiera raderna? <code> Tror inte man behöver definera målkolumnerna ens, så det borde räcka med: Nä, det behövs inte men det är i många fall att rekommendera eftersom man då får bättre kontroll på vad som hamnar var. Johan, om man skall duplicea en post, kopiera från och till samma tabell. Då kommer primärnycken ställa till problem. Då måste du ange kolumnerna. <b>Johan, om man skall duplicea en post, kopiera från och till samma tabell. Då kommer primärnycken ställa till problem. Då måste du ange kolumnerna.</b>kopiera en post med SQL?
Sv: kopiera en post med SQL?
INSERT INTO tabell (fält1, fält2, ...) (SELECT fält1, fält2, ... FROM tabell2 WHERE ...)
</code>Sv:kopiera en post med SQL?
<code>
INSERT INTO tabell SELECT fält1, fält2, ... FROM tabell2 WHERE ...
</code>
/JohanSv: kopiera en post med SQL?
Sv: kopiera en post med SQL?
Sv:kopiera en post med SQL?
Det beror lite på...
Access:
Behöver man inte ange kolumner i INSERT oavsett hur många kolumner man tar med i SELECT.
MS SQL:
Verkar som att det bara fungerar att utelämna kolumner i INSERT om man listar alla kolumner utom primärnyckeln (om det är en "räknare") i SELECT.
MySQL:
Där fungerade det inte utan att definera kolumnerna i INSERT.
Väldigt enkla tester, så jag kan ha missat något här...
/Johan