dm中php函数dm_insert_id的使用
一、操作环境
环境信息
环境 | 版本 |
---|---|
数据库 | 1-2-46-21.08.26-146366-10022-ENT |
Php | PHP 7.4.27 |
二、关于dm_insert_id
从程序员手册查看释义:
dm_insert_id —取得上一步 INSERT 操作产生的 ID
也就是取得自增列的插入值;
准备一个表product1
设置product1的discount列为自增列
CREATE TABLE "SYSDBA"."PRODUCT1"
( "NAME" VARCHAR(20),
"AUTHOR" VARCHAR(20),
"PUBLISHER" VARCHAR(20),
"PUBLISHTIME" TIMESTAMP(6),
"DISCOUNT" INT IDENTITY(1, 1) NOT NULL,
"DESCRIPTION" VARCHAR(4000),
"PHOTO" CLOB,
"SELLSTARTTIME" TIMESTAMP(6))
STORAGE(ON "MAIN", CLUSTERBTR) ;
三、在脚本中使用dm_insert_id
四、使用sql语句对比效果
脚本如下:
<?php
$link = dm_connect("localhost", "SYSDBA", "SYSDBA")
or die("Could not connect : " . dm_error());
print "Connected successfully"."\n";
/* 执行 SQL 查询 */
$query = " INSERT INTO product1(name,author,publisher,publishtime,description,photo,sellstarttime)
VALUES('三国演义','罗贯中','中华书局','2005-04-01','《三国演义》是中国第一部长篇章回体小说!',null,'2006-03-20')";
$result = dm_exec($link,$query) or die("Query failed : " . dm_error());
print "insert_id:".dm_insert_id($link)."\n";
$resp=dm_insert_id($link);
$query2 = "select @@IDENTITY as id";
$resp2=dm_exec($link,$query2);
$result2=dm_result($resp2,1);
print "resp:"."$resp"."\n"."result2:"."$result2"."\n";
/* 释放资源 */
dm_free_result($result);
dm_free_result($resp2);
/* 断开连接 */
dm_close($link);
?>
运行脚本: