Når en ny rekord har blitt satt inn i en database , vil en bruker ofte ønsker å hente identiteten verdi (eller id ) av den siste raden . Denne verdien er ofte nødvendig å legge en link, eller utenlandske nøkkelen , til en annen database tabellen . Identiteten verdi kan oppnås ved hjelp av SQL for å hente den nye verdien . Dette kan gjøres i SQL Server , med samme SQL-spørringen , noe som vil bidra til å spare ressurser , som bare én spørring trenger å bli kalt . I MySQL, er identiteten feltet hentes ved hjelp av funksjoner. Du trenger
SQL Editor
Vis mer Instruksjoner
Bruke SQL Server
en
Åpne en SQL-editor program .
2
Legg til følgende kode :
INSERT INTO MyTable ( MyColumn ) verdier ( " AnyValue ")
p Dette vil sette inn den nye raden av data
3 < . p > Legg til kode for å hente identiteten kolonnen til den nye raden : en
SELECT NEWID = SCOPE_IDENTITY ( )
Siden introduksjonen av SQL Server 2000 har denne funksjonen blitt lagt til og det er mer nøyaktig enn @ @ iDENTITET , som ble brukt før dette.
hjelp MySQL database
4
Åpne en MySQL editor program .
5
Sjekk at identiteten kolonnen , på den database tabellen, anvender den AUTO_INCREMENT funksjon . Hvis du setter inn en post i en tabell som inneholder dette , kan du få den verdien som er lagret i den kolonnen ved å ringe mysql_insert_id () eller LAST_INSERT_ID ( ) funksjoner.
6
Legg til følgende kode , slik at den automatisk oppdatere en annen tabell , med identiteten til den nye raden fra den første tabellen : en
INSERT INTO MyFirstTable ( auto, tekst)
VALUES ( NULL , 'text '); # generere ID ved å sette inn NULL
INSERT INTO MySecondTable ( id , tekst)
VALUES ( LAST_INSERT_ID ( ) , ' tekst ') ; # bruke ID i andre tabellen
identiteten feltet automatisk opprettet i den første tabellen kalles å bruke " LAST_INSERT_ID ( ) "-funksjonen . Dette settes inn i tabellen
p Hvis du vil bruke Identity feltet i PHP-koden , får den nye identiteten feltet ved hjelp av følgende MySQL -funksjonen koden " MySecondTable . " : En
used_id = mysql_insert_id . (& mysql ) ;
Bruke Access database
7
Åpne en SQL-editor program
8
Legg til følgende SQL-setning :
INSERT INTO MyTable ( MyColumn ) verdier ( " AnyValue ")
p Dette setter en ny rad i en database tabell .
9
Legg til kode for å returnere Identity feltet for den nye raden : en
SELECT @ @ IDENTITET
sette inn setningen og denne uttalelsen , fra forrige trinn , kan legges inn i samme spørringen . Dette vil bety at bare én samtale er gjort på databasen og vil spare ressurser på databaseserveren .