我正在使用mssql。 插入記錄後,我想獲取數據的ID。 但我不知道那麼做。 我的代碼如下。 請給我答案。[Azure/mssql]我如何獲得插入查詢記錄集
var mssql = require('mssql');
mssql.connect(config.mssql, function(err) {
var request = new mssql.Request();
request.query('insert -----'),function(err, data) {
console.log(data);
}
插入工作正常,但控制檯日誌[未定義] ...
這是表的DDL
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo]。[Feature](
[id] nvarchar NOT NULL CONSTRAINT [DF_Feature_id] DEFAULT(CONVERT(nvarchar,newid(),(0))),
[createdAt] datetimeoffset NOT NULL CONSTRAINT [DF_Feature_createdAt] DEFAULT(CONVERT(datetimeoffset,sysutcdatetime(), 0))),
[updatedAt] DATETIMEOFFSET NULL,
[版] [時間戳] NOT NULL,
[刪除] [比特] NULL DEFAULT((0)),
[標題] nvarchar的NULL,
[text] nvarchar NULL,
[period_from] datetimeoffset NULL,
[period_to] datetimeoffset NULL,
[優先] [浮子] NULL,
PRIMARY KEY NONCLUSTERED
(
[ID] ASC
)WITH(STATISTICS_NORECOMPUTE = OFF,IGNORE_DUP_KEY = OFF)
)
GO
對於單身插入,你可以添加'SELECT SCOPE_IDENTITY()'在同一的'INSERT'後聲明批量。或者,指定一個'OUTPUT'子句(OUTPUT inserted.ID)),它也可以處理多行插入。請參閱https://docs.microsoft.com/en-us/sql/t-sql/queries/output-clause-transact-sql/ –
@DanGuzman感謝您的回覆。我試過了,但沒有成功.request。查詢('insert -----; SELECT SCOPE_IDENTITY()),函數(err,data)。但數據未定義。 –
@YoshihideNishimoto爲所涉及的表格填寫ddl - 至少是主鍵的一部分。推測你的桌子有一個標識欄 - 你有不同類型的合成鍵嗎? – SMor