为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
现在我用nodejs插入一条语句,结果返回值是
t { rowsAffected: 1 }
我想知道如何返回这个自增的id
部分代码
let bind = [
{ val: '111' },
{ val: 0 },
{ val: '2021-10-11 14:01:03' },
{ val: '2021-10-11 14:01:03' },
{ val: 1 },
{ val: null },
{ val: 1 },
{ val: 'icon' },
{ val: 0 }
]
let sql = `INSERT INTO "map-category" ("label","parent_id","created_at","updated_at","created_user_id","updated_user_id","status","icon","order_index") VALUES (:1,:2,:3,:4,:5,:6,:7,:8,:9)`;
// let sql = `select * from "map-category"`;
let result = await conn.execute(sql, bind);
用序列来解决吧,达梦在使用风格上更像ORACLE,而insertId 其实是 mysql 的糟粕设计,互联网应用比较广泛,但是企业级开发到处都需要基于多条SQL的上下文来编程,这个时候序列就非常重要了。
先创建序列:
CREATE SEQUENCE REGION_ID_REQ INCREMENT BY 1 START WITH 10000;
然后在插入时使用序列:
INSERT INTO x(id, a, b) VALUES(REGION_ID_REQ.nextval);
最后获取序列的当前值:
SELECT REGION_ID_REQ.currval;
请问你解决了吗,这么重要的功能居然没有