【问题标题】:Fewer Columns in INSERT than VALUESINSERT 中的列少于 VALUES
【发布时间】:2019-03-15 02:03:48
【问题描述】:

我正在编写一个存储过程,并已将一个表声明为代码的一部分。我收到一个错误

INSERT 语句中的列数少于 VALUES 子句中指定的值

这是我的代码:

DECLARE @FullTaskList TABLE (fval INT)

INSERT INTO @FullTaskList(fval) 
VALUES ( (1), (2), (3), (4), (5) )

如果您能帮助我,我将不胜感激。

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    你的括号太多了:

    DECLARE @FullTaskList TABLE ( fval INT )
    INSERT INTO @FullTaskList ( fval )
        VALUES (1), (2), (3), (4), (5);
    

    您的语法被解释为(1, 2, 3, 4, 5),即一行五个值,而不是五个行一个值。

    【讨论】:

      【解决方案2】:

      删除多余的括号,因为这表明您将插入 5 列而不是 5 行

      DECLARE @FullTaskList TABLE ( fval INT )
      INSERT INTO @FullTaskList ( fval ) 
      VALUES  (1), (2), (3), (4), (5) ;
      

      【讨论】:

      • 谢谢!甚至从未意识到。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2010-10-26
      • 1970-01-01
      • 2016-08-21
      相关资源
      最近更新 更多