• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ibase_gen_id()

    (PHP 5, PHP 7)

    Increments the named generator and returns its new value

    说明

    ibase_gen_id(string $generator[,int $increment= 1[,resource $link_identifier= NULL]]): mixed
    Warning

    本函数还未编写文档,仅有参数列表。

    返回值

    Returns new generator value as integer, or as string if the value is too big.

    EXAMPLE:
    You need to know the generator´s value after INSERT:
    Before INSERT-Statement run
    $nextnumber=ibase_gen_id ("GEN_NAME",1);
    GEN_NAME: is the generator´s name
    1: means add 1 to actual value of generator
    $nextnumber: is variable to store generators value after incrementing
    In the INSERT-Statement you can use $nextnumber instead of using generator directly like in:
    INSERT INTO test (field1, field2) VALUES gen_id(gen_test_id, 1), 'testme');
    $sql="INSERT INTO mitabla(campo1,campo2,..campo n) VALUES(GEN_ID(mitabla1_codigo_gen,1),'contenido 1', 'contenido 2', 'contenido n' )";
    Question arose on php-dev:
    How does ibase_gen_id() handle 64bit values?
    Interbase 6/Firebird generators are always 64-bit signed integers
    (Firebird's BIGINT type), regardless of the platform the client is
    running. 
    On 64-bit platforms, this will never require conversion as PHP's int
    type is 64 bits wide on those platforms. On 32-bit platforms, the
    generated value is converted to a string if it exceeds the limits of a
    32-bit signed integer.
    (This behaviour is consistent with the ibase_fetch_*() functions, that
    will use strings to represent numerical values that cannot be represented
    accurately using native PHP numerical types.)
    [Edited by PHP/Interbase maintainer.]