Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.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 Server 2008列名';类型';在更新查询中未显示_Sql_Sql Server_Tsql_Sql Update - Fatal编程技术网

SQL Server 2008列名';类型';在更新查询中未显示

SQL Server 2008列名';类型';在更新查询中未显示,sql,sql-server,tsql,sql-update,Sql,Sql Server,Tsql,Sql Update,我有一个名为Bowzer的表,其中有一列名为Type 当我尝试运行此查询时,SSMS无法识别列Type 这是我的问题 update Bowzer set inserted_by = ISNULL(inserted_by, 'Auto') where (bowzer_id = 8 and inserted_by is null and type='CRUDE') 在此,它无法识别列类型,并给出一个错误 无效的列名类型 是否不允许使用此列名类型 另外,我想检查Inserted_By列是否为空,然后

我有一个名为
Bowzer
的表,其中有一列名为
Type

当我尝试运行此查询时,SSMS无法识别列
Type

这是我的问题

update Bowzer
set inserted_by = ISNULL(inserted_by, 'Auto')
where (bowzer_id = 8 and inserted_by is null and type='CRUDE')
在此,它无法识别列
类型
,并给出一个错误

无效的列名类型

是否不允许使用此列名
类型

另外,我想检查
Inserted_By
列是否为空,然后用值
Auto

我该怎么做

编辑-1到表Bowzer的DDL

CREATE TABLE [dbo].[Bowzer](
    [bowzer_id] [numeric](18, 0) IDENTITY(1,1) NOT NULL,
    [bowzer_no] [nvarchar](20) NULL,
    [quantity] [numeric](18, 0) NULL,
    [dip1] [numeric](18, 0) NULL,
    [Cmpt_Capacity1] [numeric](5, 0) NULL,
    [dip2] [numeric](18, 0) NULL,
    [Cmpt_Capacity2] [numeric](5, 0) NULL,
    [dip3] [numeric](18, 0) NULL,
    [Cmpt_Capacity3] [numeric](5, 0) NULL,
    [dip4] [numeric](18, 0) NULL,
    [Cmpt_Capacity4] [numeric](5, 0) NULL,
    [dip5] [numeric](18, 0) NULL,
    [Cmpt_Capacity5] [numeric](5, 0) NULL,
    [expiry_date] [datetime] NOT NULL,
    [status] [bit] NOT NULL,
    [inserted_on] [datetime] NULL,
    [inserted_by] [nvarchar](20) NULL,
    [Type] [nvarchar](50) NULL,
 CONSTRAINT [PK_Bowzer] PRIMARY KEY CLUSTERED 
(
    [bowzer_id] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

GO
试试这个

update Bowzer
set inserted_by = ISNULL(inserted_by, 'Auto')
where (bowzer_id = 8 and inserted_by is null and [type]='CRUDE')

要检查是否为null,请使用用例

Update Bowzer set inserted_by  = Case When inserted_by IS NULL THEN 'Auto' Else inserted_by End
where (bowzer_id = 8 and inserted_by is null and [type]='CRUDE')

不,智能感知也不能识别它。它仅显示三个内置功能。1) TYPEPROPERTY(2)类型\u ID(3)类型\u名称。。。。我认为intellisense也应该显示字段名“Type”,不是吗?为什么您希望intellisense显示?只需运行它。我接受它必须显示,但不会阻止您运行查询。
type
不是TSQL中的一个选项。您不必为
类型
使用分隔标识符。您确定在
Bowzer
中有名为
类型
的列吗?你能给Bowzer加上这个吗?我想你指的是DDL这个词的DropDownList。是的,我可以用它做任何事情,只是SSM无法识别此列名,intellisense无法显示。DDL=数据定义语言错误“无效列名类型”或“intellisense无法显示”。是哪一个?两者都有?使用表和代码,您可以在这里看到它按预期工作。