【发布时间】:2019-04-23 07:35:16
【问题描述】:
我想将主键 IDD 添加到架构中的每个 'Temp...' 表中。我正在尝试通过以下方式进行操作:
DECLARE @addId VARCHAR(MAX) = '';
SELECT @addId = @addId + 'ALTER TABLE ['+ TABLE_NAME +'] ADD IDD int IDENTITY(1,1);ALTER TABLE ['+TABLE_NAME +'] ADD PRIMARY KEY (IDD);' FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME LIKE 'Temp%'
EXEC (@addId );
我收到这样的错误:
Multiple identity columns specified for table 'TempTable'. Only one identity column per table is allowed.
我做错了什么?
编辑:表中尚未定义主键。
【问题讨论】:
-
好吧...消息说,您的表中已经定义了一个标识列。你检查表定义了吗?
-
在运行此查询之前,表中没有定义主键。
-
好的,有。耶稣对不起。
-
能否提供表 TempTable 的架构?
-
花了 4 分钟才发现您的脚本有误。 Newsflash - 您遇到的任何错误很可能是由您自己的代码引起的。也停止假设。错误消息没有说明主键 - 它提到了多个标识列。
标签: sql-server tsql dynamic-sql ddl