【问题标题】:Create 2 pair unique id data rows创建 2 对唯一 id 数据行
【发布时间】:2019-12-11 03:05:14
【问题描述】:

我想为每个查询创建 2 个具有 1 个相同的可查找唯一 ID 的数据行

2 区别是 side 栏 {1 买家} {0 卖家} 和 userId 列 {userID's}

id userId  side   price   qty   pairId
 1 6       0      60      10    1
 2 9       1      60      10    1 

尝试可视化结果表:

在 SQL Server 中我尝试了SCOPE_IDENTITY()

insert into [dbo].[deals] (side, price, qty,pairId) 
values (1, 60, 10 ,SCOPE_IDENTITY()),
       (0, 60, 10 ,SCOPE_IDENTITY()),

创建表命令:

CREATE TABLE [demonstration].[dbo].[Deals](
   [id] [bigint] IDENTITY(1,1) NOT NULL,
   [userId] [int] NULL,
   [side] [smallint] NULL,
   [qty] [decimal](18, 4) NULL,
   [price] [decimal](18, 4) NULL,
   [pairId] [bigint] NULL
) ON [PRIMARY]
GO

【问题讨论】:

  • MySQL 还是 SQL Server?不能两者兼有。
  • 那么请去掉mysql标签
  • 请显示您的表格架构
  • 你为什么使用 SCOPE_IDENTITY() 而不仅仅是价值 1 ?请说明您要达到的目标
  • 请显示创建表命令

标签: sql-server mssql-jdbc sqlclient


【解决方案1】:

将 IDENTITY 列添加到交易表(或将一列更改为标识)然后使用您的查询:

insert into [dbo].[deals] (side, price, qty,pairId) 
values (1, 60, 10 ,IDENT_CURRENT('deals')+1),
       (0, 60, 10 ,IDENT_CURRENT('deals')+1)

添加了 +1

【讨论】:

  • pairId 获取最后插入的id号是否可以加+1
猜你喜欢
  • 1970-01-01
  • 2022-11-28
  • 2015-04-11
  • 2012-03-26
  • 2019-06-14
  • 1970-01-01
  • 2016-05-28
  • 1970-01-01
  • 2012-02-20
相关资源
最近更新 更多