Quand un nouveau record a été inséré dans une base de données , un utilisateur voudra souvent pour récupérer la valeur d'identité ( ou l' id) de la dernière rangée. Cette valeur est souvent nécessaire d'ajouter un lien ou une clé étrangère , à une autre table de base de données . La valeur d'identité peut être atteint en utilisant SQL pour récupérer la nouvelle valeur. Cela peut être fait , dans SQL Server , en utilisant la même requête SQL , ce qui permettra d'économiser des ressources , comme une seule requête doit être appelée . Dans MySQL, le champ d'identité est récupéré en utilisant des fonctions . Choses que vous devez
SQL Editor
Afficher plus Instructions
aide de SQL Server
1
Ouvrez un éditeur SQL.
2 < p > Ajoutez le code suivant :
INSERT INTO valeurs MyTable ( MyColumn ) ( " AnyValue " )
Ceci va insérer la nouvelle ligne de données
3 < . p> Ajouter du code pour récupérer la colonne d'identité de la nouvelle ligne :
SELECT NEWID = SCOPE_IDENTITY ()
Depuis l'introduction de SQL Server 2000, cette fonction a été ajoutée et il est plus précis que @ @ IDENTITY , qui a été utilisé avant cette date.
utilisant MySQL base de données
4
Ouvrez un éditeur MySQL.
5
Vérifier que la colonne d'identité , sur la table de base de données , utilise la fonction AUTO_INCREMENT . Si vous insérez un enregistrement dans une table qui contient , vous pouvez obtenir la valeur stockée dans cette colonne en appelant le mysql_insert_id ( ) ou les fonctions LAST_INSERT_ID ().
6
Ajoutez le code suivant pour automatiquement mettre à jour une autre table, avec l'identité de la nouvelle ligne de la première table :
INSERT INTO MyFirstTable (auto, texte)
VALUES (NULL , 'text' ) ; # générer des ID en insérant NULL
INSERT INTO MySecondTable (id, texte)
VALUES ( LAST_INSERT_ID () , 'text' ); # utiliser dans la seconde page
Le champ d'identité créée automatiquement dans le premier tableau est appelé en utilisant la fonction « LAST_INSERT_ID ()" . Ceci est insérée dans la table
Si vous voulez utiliser le champ d'identité dans le code PHP, obtenir le nouveau champ d'identité en utilisant le code de la fonction MySQL suivante " MySecondTable . ":
Used_id = mysql_insert_id . ( & mysql ) ;
Utilisation de l'accès base de données
7
Ouvrez un éditeur SQL
8
Ajoutez l'instruction SQL suivante : < br >
INSERT INTO valeurs MyTable ( MyColumn ) ( " AnyValue " )
de
insère une nouvelle ligne dans une table de base de données .
9
ajouter du code pour retourner le champ d'identité pour la nouvelle ligne :
SELECT @ @ IDENTITY
l' instruction d'insertion et de cette déclaration, à partir de l'étape précédente, peut être entré dans la même requête. Cela signifie que seul un appel est effectué sur la base de données et d'économiser des ressources sur le serveur de base de données .