DB_common::nextId()

DB_common::nextId() – Retourne le nombre suivant pour une séquence

Synopsis

integer nextId ( string $seq_name , boolean $onDemand = = true )

Description

Retourne le nombre suivant disponible pour une séquence. La séquence est automatiquement incrémentée à chaque appel à cette méthode.

Lisez "Introduction - Séquences" pour plus d'informations.

Parameter

string $seq_name

nom de la séquence

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.

Return value

integer - un identifiant libre ou un objet DB_Error en cas d'erreur.

Throws

Possible PEAR_Error values
Code erreur Message erreur Raison Solution
DB_ERROR_NOT_CAPABLE DB backend not capable 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

This function can not be called statically.

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.

Example

Utilisation de nextId()

<?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')");
?>
Envoi une requête limitée à la base de données (Previous) Informs the DB driver that the next query is a manipulation query (Next)
Last updated: Sun, 29 Aug 2010 — Download Documentation
Do you think that something on this page is wrong? Please file a bug report or add a note.
View this page in:

User Notes:

There are no user contributed notes for this page.