注册

【BUG】无法获取插入记录后的自增ID

DM_08 2024/01/09 846 3

【DM版本】: dm8
【操作系统】: windows server 2016
【CPU】: x86
【问题描述】:
现有包含自增ID的 PERSON 表:

CREATE TABLE PERSON ( ID INT NOT NULL AUTO_INCREMENT PRIMARY KEY, NAME VARCHAR(20) NULL );

插入记录后无法获取自动生成的 ID,node.js 代码如下:

const db = require("dmdb"); // 基础测试 db.createPool({ connectString: "dm://sysdba:dmpassw0rd@localhost:5236", poolMin: 1, poolMax: 1, queueMax: 20 }).then(function(pool) { pool.getConnection(function(err, conn) { if (err) { console.error(err); return } conn.execute(`INSERT INTO PERSON(name) VALUES(?);` , ['xyz'], function(err, result) { if (err) { console.error(err); return } console.log(result); conn.release(); pool.close(); }); }); }) .catch(function(err) { console.log(err); });

输出结果:

{ rowsAffected: 1 }

如果在执行的 SQL 后 增加 select SCOPE_IDENTITY() as insertId,输出结果:

{ metaData: [ { name: 'INSERTID' } ], rows: [ [ null ] ] }
回答 0
暂无回答
扫一扫
联系客服