AIR SQLite – Récupérer la primary key d'une ligne venant d'être insérée
Dans le tutorial précédent, on a vu comment insérer des données dans une base de données SQLite avec INSERT INTO. Mais si votre base de données à une structure avec des jointures par exemple, vous aurez peut-être besoin de la clé primaire de la ligne que vous venez d'insérer. Vous pourrez ainsi insérer cette valeur de clé primaire dans une autre table de jointure.
La clé primaire d'un nouvel élément inséré peut être récupérée dans l'objet SQLResult généré après exécution d'un SQLStatement. C'est par exemple dans cet objet que l'on trouvait les valeurs récupérées par une SELECT:
AIR SQLite – Récupérer les données d'une base SQLite (SELECT)
Dans le cas d'un INSERT, l'instance de SQLResult renvoyée contient une propriété nommée "lastInsertRowID". Voici un petit exemple de code en mode synchrone:
insertStmt.text = "INSERT INTO ...";
try
{
insertStmt.execute();
// get the primary key
var result:SQLResult = insertStmt.getResult();
var primaryKey:Number = result.lastInsertRowID;
// do something with the primary key
}
catch (error:SQLError)
{
// respond to the error
}
Si vous n'avez pas défini de colonne comme "INTEGER PRIMARY KEY", lastIntertRowID va vous renvoyer un identifiant de colonne utilisé par la base en interne, qui correspond au nom de colonne ROWID, _ROWID_, ou OID.
Articles similaires
- AIR SQLite – Insertion de données dans une table avec INSERT (unique et multiples)
- AIR SQLite – Récupérer les données d'une base SQLite (SELECT)
- AIR SQLite – Enregistrer des objets ActionScript dans une base SQLite
- AIR SQLite – Création de tables SQLite et types de données
- AIR SQLite – Optimisation des performances
Aucun trackbacks pour l'instant





