Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 插入数据时列名无效_Sql_Sql Server_Ssms - Fatal编程技术网

Sql 插入数据时列名无效

Sql 插入数据时列名无效,sql,sql-server,ssms,Sql,Sql Server,Ssms,我在本地安装了SQLExpress,并使用SQLServerManagementStudio访问它 我在SSMS中创建了一个新的数据库BirdSite,其中包含一个表TMasterCountry,其中包含以下列: Id (int) CountryName (varchar(50)) 其中Id是主自动递增键 当我使用脚本表作为。。。在对象资源管理器中的选项中,我可以使用以下SQL语句查看空表: USE [BirdSite] GO SELECT [Id] ,[CountryName]

我在本地安装了SQLExpress,并使用SQLServerManagementStudio访问它

我在SSMS中创建了一个新的数据库BirdSite,其中包含一个表TMasterCountry,其中包含以下列:

Id (int)
CountryName (varchar(50))
其中Id是主自动递增键

当我使用脚本表作为。。。在对象资源管理器中的选项中,我可以使用以下SQL语句查看空表:

USE [BirdSite]
GO

SELECT [Id]
      ,[CountryName]
  FROM [dbo].[TMasterCountry]
GO
没有任何问题

但是,使用相同的选项尝试插入一些数据时,会出现以下SQL:

USE [BirdSite]
GO

INSERT INTO [dbo].[TMasterCountry]
           ([CountryName])
     VALUES
           (<CountryName, varchar(50),>)
GO
但是,当我尝试运行代码时,会出现以下错误:

味精207,16级,状态1,第4行

列名“CountryName”无效

信息110,15级,状态1,第4行

INSERT语句中的列少于values子句中指定的值。values子句中的值数必须与INSERT语句中指定的列数匹配

有人知道这里发生了什么吗?该列显然确实存在,因为我可以很好地选择数据

在回答了一些类似的问题之后,我尝试重新启动SSMS,并尝试刷新本地Intellisense缓存,但运气不好。我还尝试将CountryName括在方括号中,但结果相同。

将其更改为:

USE [BirdSite]
GO

INSERT INTO [dbo].[TMasterCountry]
           ([CountryName])
     VALUES
           ('test')
GO

指列的名称及其数据类型。

语法错误;应该是

INSERT INTO [dbo].[TMasterCountry]
           ([CountryName])
     VALUES
           ('test')

您需要将之间的整个内容替换为以下值:

INSERT INTO [dbo].[TMasterCountry]
       ([CountryName])
VALUES
       ('test')

此外,除非您已将ID列指定为自动递增标识,否则SQL中也必须提供该标识。请参阅,它已经是一个标识列,如问题中所述:其中ID是主要的自动递增键。请注意。我错过了。
INSERT INTO [dbo].[TMasterCountry]
       ([CountryName])
VALUES
       ('test')