Pour éviter les problèmes avec les divers systèmes de bases de
données, les noms des séquences doivent commencer par une lettre et ne
doivent contenir que des lettres, nombres et des caractères de soulignement (underscore).
boolean
$onDemand
TRUE : la séquence est automatiquement créée
si elle n'existe pas.
La création sur demande nécessite que l'utilisateur de la base de données
spécifié dans le script doit avoir les permissions sur la base de données
nécessaire pour créer une table ou une séquence. Les privilèges exactes
dépendent de la DBMS utilisée.
Valeur retournée
integer - un identifiant libre ou
un objet DB_Error en cas d'erreur
La fonction n'est pas supportée par le moteur de base de données
Changez de gestionnaire de base de données si vous avez vraiment
besoin de cette fonctionnalité.
DB_ERROR_NOT_LOCKED
not locked
Le vérouillage de la table de séquence a échoué
Spécifique à la base de données. Lisez la documentation de votre
base de données.
DB_ERROR_NOSUCHTABLE
no such table
La table de séquence n'a pas été trouvée
Essayez de créér une nouvelle séquence ou si vous êtes
sûrs qu'une séquence a déjà été
créée, vérifiez l'intégrité de la base de
données.
Note
Cette fonction ne peut pas être appelée de façon statique.
Avertissement
Lorsque vous utilisez les méthodes de séquence PEAR DB, vous êtes vivement
recommandé d'utiliser ces méthodes pour toutes les procédures, incluant
la création des séquences. N'utilisez pas les méthodes PEAR DB pour accéder
aux séquences créées directement dans le DBMS. Voir l'avertissement
dans la page << Introduction - Séquences >>
pour plus d'informations.
<?php
// On suppose que $db est un objet DB valide...
$id = $db->nextId('mySequence');
if (PEAR::isError($id)) {
die($id->getMessage());
}
// Utiliser l'ID dans votre requête INSERT
$res =& $db->query("INSERT INTO myTable (id, text) VALUES ($id, 'foo')");
?>