Når en ny rekord er blevet indsat i en database, vil en bruger ofte ønsker at hente identitet værdi ( eller id ) i den seneste række. Denne værdi er ofte nødvendig for at tilføje et link eller fremmede nøgle , til en anden database tabel. Identiteten værdi kan nås ved hjælp af SQL til at hente den nye værdi. Dette kan gøres i SQL Server, bruger den samme SQL forespørgsel , hvilket vil bidrage til at spare ressourcer, som kun én forespørgsel skal hedde. I MySQL, er identiteten felt hentes ved hjælp af funktioner. Ting du skal
SQL Editor
Vis Flere Instruktioner
Brug SQL Server
1
Åbn en SQL editor program.
2 < p > Føj følgende kode : Hej
INSERT INTO MinTabel ( MyColumn ) værdier ( " AnyValue " )
Dette vil indsætte den nye række af data
3 < . p > Tilføj kode til at hente identitet kolonnen for den nye række : Hej
SELECT newid = SCOPE_IDENTITY ()
Siden indførelsen af SQL Server 2000, er denne funktion blevet tilføjet , og det er mere nøjagtig end @ @ IDENTITY , som blev brugt før dette.
bruger MySQL -database
4
Åbn en MySQL editor program.
5
Check at identiteten kolonnen på databasen tabellen , anvender AUTO_INCREMENT funktionen . Hvis du indsætter en post i en tabel, der indeholder dette, kan du få den værdi, lagres i denne kolonne ved at kalde MYSQL_INSERT_ID () eller LAST_INSERT_ID () -funktioner.
6
Føj følgende kode til automatisk opdatere endnu bord, med identiteten af den nye række fra den første tabel : Hej
INSERT INTO MyFirstTable (auto , tekst)
VALUES ( NULL , 'text '); # generere ID ved at indsætte NULL
INSERT INTO MySecondTable (id , tekst)
VALUES ( LAST_INSERT_ID () , 'text' ), # bruge id i anden tabel
identitet felt automatisk oprettet i den første tabel kaldes ved hjælp af " LAST_INSERT_ID ( ) "-funktionen . Det er indsat i tabellen
p Hvis du ønsker at bruge Identity felt i PHP kode , få den nye identitet felt ved hjælp af følgende MySQL funktionen kode " MySecondTable ". : Hej
used_id = mysql_insert_id . (& mysql ),
Brug af Access -database
7
Åbn en SQL editor program
8
Tilføj følgende SQL-sætning: < br >
INSERT INTO MinTabel ( MyColumn ) værdier ( " AnyValue " )
indsætter en ny række i en database tabel.
9
Tilføj kode til at returnere Identity vilkår for den nye række : Hej
SELECT @ @ IDENTITY
indsætte erklæring og denne erklæring , fra det foregående trin , kan indtastes i samme forespørgsel . Dette vil betyde, at kun et opkald er foretaget på databasen og vil spare ressourcer på databaseserveren.