|
ibase_gen_id
Increments the named generator and returns its new value
(PHP 5)
Code Examples / Notes » ibase_gen_idmfischer
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.] robert
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'); escoric
$sql="INSERT INTO mitabla(campo1,campo2,..campo n) VALUES(GEN_ID(mitabla1_codigo_gen,1),'contenido 1', 'contenido 2', 'contenido n' )";
|
Change Languageibase_add_user ibase_affected_rows ibase_backup ibase_blob_add ibase_blob_cancel ibase_blob_close ibase_blob_create ibase_blob_echo ibase_blob_get ibase_blob_import ibase_blob_info ibase_blob_open ibase_close ibase_commit_ret ibase_commit ibase_connect ibase_db_info ibase_delete_user ibase_drop_db ibase_errcode ibase_errmsg ibase_execute ibase_fetch_assoc ibase_fetch_object ibase_fetch_row ibase_field_info ibase_free_event_handler ibase_free_query ibase_free_result ibase_gen_id ibase_maintain_db ibase_modify_user ibase_name_result ibase_num_fields ibase_num_params ibase_param_info ibase_pconnect ibase_prepare ibase_query ibase_restore ibase_rollback_ret ibase_rollback ibase_server_info ibase_service_attach ibase_service_detach ibase_set_event_handler ibase_timefmt ibase_trans ibase_wait_event |