Kommandot INSERT INTO

Lägger till en eller flera poster i en tabell. Det här kallas även för en lägg till fråga.

Syntax

Tilläggsfråga med flera poster:

INSERT INTO mål [(fält1[, fält2[, ...]])] [IN externdatabas]
SELECT [källa.]fält1[, fält2[, ...]
FROM tabelluttryck

Tilläggsfråga med en post:

INSERT INTO mål [(fält1[, fält2[, ...]])]
VALUES (värde1[, värde2[, ...])

INSERT INTO-uttrycket består av följande delar:

Element

Beskrivning

Mål

Namnet på tabellen eller frågan som du vill lägga till poster till.

fält1, fält2

Namnen på de fält du vill koppla data till, om de föregås av ett argument av typen mål. Namnen på fälten att hämta data från, om de föregås av ett argument av typen källa.

externdatabas

Sökväg till en extern databas. En beskrivning av sökvägen finns i IN-satsen.

källa

Namnet på tabellen eller frågan som du vill kopiera poster från.

tabelluttryck

Namnet på den eller de tabeller som poster förs in i. Det här argumentet kan vara ett enda tabellnamn eller en sammansättning hörrörande från en åtgärd av typen INNER JOIN, LEFT JOIN eller RIGHT JOIN eller en sparad fråga.

värde1, värde2

Värdena som ska infogas i de specifika fälten hörande till den nya posten. Varje värde infogas i det fält som motsvarar värdets position i listan: värde1 infogas i fält1 i den nya posten, värde2 i fält2och så vidare. Du måste avgränsa värdena med ett kommatecken och omsluta textfälten med citattecken (' ').


Kommentarer

Du kan använda kommandot INSERT INTO och lägga till en enskild post i en tabell med syntaxen för tilläggsfrågor med en post enligt ovan. I det här fallet anger koden namn och värde för varje fält i posten. Du måste ange vart och ett av de fält i posten som ett värde ska tilldelas till, och ett värde för det fältet. Om du inte anger varje fält infogas standardvärdet eller Null för saknade kolumner. Posterna läggs till i slutet av tabellen.

Använd INSERT INTO när du vill lägga till en uppsättning poster från en annan tabell eller fråga med hjälp av SELECT ... FROM-satsen som visas ovan i syntaxen för tilläggsfrågor med flera poster. I det här fallet anger SELECT-satsen de fält du vill koppla till den angivna tabellen av typen mål.

En tabell av typen källa eller mål kan specificera en tabell eller en fråga. Om en fråga anges lägger Microsoft Access-databasmotorn till poster i alla tabeller som anges av frågan.

INSERT INTO är valfritt, men när det används har det företräde framför SELECT-uttrycket.

Om måltabellen innehåller en primärnyckel är det viktigt att du lägger till unika värden som inte är av typen Null i primärnyckelfälten. Annars lägger Microsoft Access-databasmotorn inte till posterna.

Om du lägger till poster i en tabell som har ett AutoNumber-fält och du vill numrera om de tillagda posterna ska du inte ta med AutoNumber-fältet i frågan. Ta inte med AutoNumber-fältet i frågan om du till behålla de ursprungliga värdena från fältet.

Använd IN-satsen i om du vill lägga till poster i en tabell i en annan databas.

Om du vill skapa en ny tabell använder du SELECT... INTO-uttrycket istället för att skapa en tabellfråga.

Om du vill ta reda på vilka poster som läggs till innan du kör tilläggsfrågan kan du först köra och analysera resultatet av ett välj fråga som använder samma villkor.

En tilläggsfråga kopierar poster från en eller flera tabeller till en annan. De tabeller som innehåller de poster som du lägger till påverkas inte av tilläggsfrågan.

Istället för att lägga till befintliga poster från en annan tabell kan du specificera värdet för varje fält i en enda ny post med VALUES-satsen. Om du utelämnar fältlistan måste VALUES-satsen innehålla ett värde för varje fält i tabellen. I annat fall misslyckas INSERT-åtgärden. Använd en ytterligare INSERT INTO-instruktion med en VALUES-sats för varje ytterligare post du vill skapa.



Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×