Nwlapcug.com


Come recuperare un valore di identità dopo un'operazione di inserimento



Quando è stato inserito un nuovo record in un database, un utente spesso desidera recuperare il valore di identità (o l'id) della riga più recente. Questo valore è spesso necessario aggiungere un collegamento, o foreign key, a un'altra tabella di database. Il valore di identità può essere raggiunto utilizzando SQL per recuperare il nuovo valore. Questo può essere fatto, in SQL Server, utilizzando la stessa query SQL, che vi aiuterà a risparmiare risorse, in quanto solo una query deve essere chiamato. In MySQL, il campo di identità viene recuperato mediante funzioni.

Istruzioni

Utilizzo di SQL Server

1

Aprire un programma di editor SQL.

2

Aggiungere il codice riportato di seguito:

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

Viene inserita la nuova riga di dati.

3

Aggiungere codice per recuperare la colonna di identità per la nuova riga:

SELEZIONA NEWID = SCOPE_IDENTITY)

Dall'introduzione di SQL Server 2000, questa funzione è stato aggiunto ed è più preciso di @@IDENTITY, che è stato usato prima di questo.

Utilizzo di database MySQL

4

Aprire un programma di editor di MySQL.

5

Verificare che la colonna di identità, sulla tabella di database, utilizza la funzione AUTO_INCREMENT. Se si inserisce un record in una tabella che contiene questo, è possibile ottenere il valore memorizzato in tale colonna chiamando le funzioni MYSQL_INSERT_ID() o LAST_INSERT_ID().

6

Aggiungere il codice riportato di seguito, per aggiornare automaticamente un'altra tabella, con l'identità della nuova riga della prima tabella:

INSERT INTO MyFirstTable (auto, testo)

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

INSERT INTO MySecondTable (id, testo)

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

Il campo di identità automaticamente creato nella prima tabella viene chiamato utilizzando la funzione "LAST_INSERT_ID()". Questo è inserito nella tabella "MySecondTable."

Se si desidera utilizzare il campo di identità nel codice PHP, è possibile ottenere il nuovo campo di identità utilizzando il seguente codice di funzione di MySQL:

used_id = mysql_insert_id (& mysql);

Utilizzo di database di Access

7

Aprire un programma di editor SQL.

8

Aggiungere la seguente istruzione SQL:

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

Questo inserisce una nuova riga in una tabella di database.

9

Aggiungere codice per restituire il campo di identità per la nuova riga:

SELEZIONARE @@IDENTITY

L'istruzione insert e questa dichiarazione, dal passaggio precedente, possono essere inseriti nella stessa query. Ciò significa che solo una chiamata viene eseguita sul database e farà risparmiare risorse sul server di database.