genId
int genId( optional string $sequenceName='adodbseq', optional int $startPoint=1 )
Description
The function genId()
is a useful, portable way of generation sequence numbers. This is not the same as having an auto-increment row on a table. If the requested sequence name does not exist, it automatically calls createSequence() to create it.It uses the best method available for a database, at best using the inbuilt sequencing functionality, and at the lowest end, maintaining a table with an integer field that is incremented using SQL syntax.
The optional parameters control the sequence name and the start number for the sequence. The return value is the sequence number.
Usage
$number = $db->genId('newsequence',100); /* * Creates a new sequence number automatically, starting at 100 * * number returns 100 */ $number = $db->genId('newsequence'); /* * Number returns 101 */
Limitations
In databases that do not support sequences, they are emulated by insertion and updating table rows. Because the method provides no row locking, its use is not recommended in intense multi-user environments as duplicate sequence numbers may be returned.