int genId( optional string $sequenceName='adodbseq', optional int $startPoint=1 )
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.
$number = $db->genId('newsequence',100); /* * Creates a new sequence number automatically, starting at 100 * * number returns 100 */ $number = $db->genId('newsequence'); /* * Number returns 101 */
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.