Hvordan hente en identitet verdi etter et innlegg

Hvordan hente en identitet verdi etter et innlegg


Når en ny rekord er satt inn i en database, vil en bruker ofte ønsker å hente identitetsverdi (eller id) av den nyeste rad. Denne verdien er ofte nødvendig for å legge til en link, eller utenlandske nøkkelen, til en annen database tabell. Identiteten verdi kan oppnås ved hjelp av SQL for å hente den nye verdien. Dette kan gjøres i SQL Server, bruker samme SQL-spørring, noe som vil bidra til å spare ressurser, som bare en spørring trenger å bli kalt. I MySQL, er identiteten feltet hentes ved hjelp av funksjoner.

Bruksanvisning

Ved hjelp av SQL Server

1 Åpne en SQL-editor program.

2 Legg til følgende kode:

INSERT INTO MyTable (MyColumn) verdier ( "AnyValue")

Dette vil sette inn ny rad med data.

3 Legg kode for å hente identitetskolonnen for den nye raden:

VELG NEWID = SCOPE_IDENTITY ()

Siden introduksjonen av SQL Server 2000 har denne funksjonen blitt lagt til og det er mer nøyaktig enn @@ IDENTITY, som ble brukt før dette.

Ved hjelp av MySQL database

4 Åpne en MySQL program.

5 Kontroller at identitetskolonnen, på databasetabell, bruker AUTO_INCREMENT funksjon. Hvis du setter inn en post i en tabell som inneholder dette, kan du få den verdien som er lagret i denne kolonnen ved å ringe mysql_insert_id () eller LAST_INSERT_ID () funksjoner.

6 Legg til følgende kode, til å automatisk oppdatere en annen tabell, med identiteten til den nye raden fra den første tabellen:

INSERT INTO MyFirstTable (auto, tekst)

VALUES(NULL,'text'); # generate ID by inserting NULL

INSERT INTO MySecondTable (id, tekst)

VALUES(LAST_INSERT_ID(),'text'); # use ID in second table

Identiteten feltet automatisk opprettet i den første tabellen kalles å bruke "LAST_INSERT_ID ()" -funksjon. Dette blir satt inn i tabellen "MySecondTable".

Hvis du ønsker å bruke Identity feltet i PHP-koden, får den nye identiteten feltet ved hjelp av følgende MySQL funksjonskode:

used_id = mysql_insert_id (og mysql);

Bruke Access database

7 Åpne en SQL-editor program.

8 Legg til følgende SQL-setning:

INSERT INTO MyTable (MyColumn) verdier ( "AnyValue")

Dette setter inn en ny rad i en database tabell.

9 Legg kode for å returnere Identity feltet for den nye raden:

SELECT @@ IDENTITY

Innsatsen uttalelse og denne uttalelsen, fra forrige trinn, kan legges inn i samme søket. Dette vil bety at bare én samtale er gjort på databasen og vil spare ressurser på databasetjeneren.