首页 > 解决方案 > 需要解释“列名或提供的值的数量与表定义不匹配”

问题描述

我怎样才能得到一个错误

列名或提供的值的数量与表定义不匹配

在第 2 行使用此代码?

SELECT * 
INTO #TEMP 
FROM TABLE_X 
WHERE ID = 'd3552bdf-d739-4818-9cf3-f8abba56e7a1'

INSERT INTO TABLE_X 
    SELECT * 
    FROM #TEMP

标签: sql-server

解决方案


TABLE_X可能有一个不允许插入值的标识列计算列。这些列在使用select *(select [column name]SELECT INTO) 时会输出/返回一个值,并将在临时表中创建为语句中的标准列。

如果您想要一个明确的答案,您必须为DDL表提供(模式定义)。您可以使用 SSMS 或使用类似命令sp_columns TABLE_X(有多种获取模式定义的方法)来检索它。


推荐阅读