【发布时间】:2014-04-25 20:55:17
【问题描述】:
我有一张桌子CMT_M_DISPOSITION (DispositionKey, DispositionValue)。 PK 在DispositionKey。我希望通过在第一列中使用 MAX(DispositionKey) + 1 来插入新记录。
我收到一个错误
无效的列 DispositionKey
当我运行以下代码时。
谁能解释我为什么会收到这个错误以及如何解决它?
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION ON
Insert into CMT_M_DISPOSITION (DispositionKey, DispositionValue)
values (MAX(DispositionKey) + 1, 'Newest')
SET IDENTITY_INSERT EY_CMT_TestV2..CMT_M_DISPOSITION OFF
【问题讨论】:
-
您正在尝试从
INSERT的表中选择 MAX(DispositionKey),这就是它抛出错误的原因。不过,我很好奇,为什么不让 ID 自动递增? -
Insert into CMT_M_DISPOSITION(DispositionKey,DispositionValue) select (MAX(DispositionKey) + 1, 'Newest') from CMT_M_DISPOSITION???? -
@BhupeshC (INSERT INTO.. SELECT) 的评论插入成功,那为什么我的插入语句失败?
-
Uhhhhhh...你为什么不让标识列做它的事情?
标签: sql sql-server insert max identity