Ste*_*ast 4 javascript sql sql-server node.js node-mssql
我正在使用node-mssql3.2.0,我需要INSERT INTO一个表并返回插入记录的id.
我可以成功地使用sql.Transaction()插入数据,但给回调(request.query()和transaction.commit())的唯一参数是:
const request = new sql.Request();
request.query('...', (err, recordset, affected) => {});
const transaction = new sql.Transaction();
transaction.commit((err) => {});
Run Code Online (Sandbox Code Playgroud)
所以,recordset是undefined的INSERT,UPDATE和DELETE语句,并affected为受影响的行数,在我的情况1.
有没有人知道在使用后获取插入记录ID(只是主键id)的好transaction.commit()方法node-mssql?
INSERT INTO...您也可以添加语句,而不仅仅是执行语句SELECT...:
INSERT INTO table (...) VALUES (...); SELECT SCOPE_IDENTITY() AS id;
Run Code Online (Sandbox Code Playgroud)
该SCOPE_IDENTITY()函数返回插入的标识列,这意味着recordset现在包含id:
const request = new sql.Request();
request.query('...', (err, recordset, affected) => {});
Run Code Online (Sandbox Code Playgroud)
我不认为request.multiple = true;是必需的,因为虽然这包括多个语句,但只有其中一个是a SELECT...,所以返回.
所以答案是SQL相关的,并不是特定的node-mssql.
| 归档时间: |
|
| 查看次数: |
3014 次 |
| 最近记录: |