消息 102,级别 15,状态 1,第 1 行“日期”附近的语法不正确。在更新查询中[关闭]

Posted

技术标签:

【中文标题】消息 102,级别 15,状态 1,第 1 行“日期”附近的语法不正确。在更新查询中[关闭]【英文标题】:Msg 102, Level 15, State 1, Line 1 Incorrect syntax near 'Date'. in updae query [closed] 【发布时间】:2018-10-17 10:25:43 【问题描述】:
update Tbl_IncomingCheck 
     set  bank_name = 'MCB' Date = 'Wednesday, October 17, 2018' Check_No = '34534' Payee = 'fsdfsa' Amount = '43543' Remarks = 'sdfdsf' 
where Incoming_Check_Id = '4'

在此处输入代码

【问题讨论】:

字段=值标记之间需要, 我不认为这个话题需要相当多的反对票。看起来用户只是不熟悉/不熟悉语法。 :UPDATE (SQL SERVER) 另一种说法:Date = 'Wednesday, October 17, 2018' 完全错误。这强烈暗示您将日期存储为varchar。将数据存储在适合它们的数据类型中。 将日期存储为date(您也有Check_No = '34534',我真的希望您不要将数字存储为varchar)。 varchar 不是“一刀切”的数据类型。 【参考方案1】:

如错误所述,您的查询中有语法错误。您的键值对必须用逗号分隔,为您提供以下信息:

UPDATE Tbl_IncomingCheck 
SET  bank_name = 'MCB',
     Date = 'Wednesday, October 17, 2018',
     Check_No = '34534',
     Payee = 'fsdfsa',
     Amount = '43543',
     Remarks = 'sdfdsf' 
WHERE Incoming_Check_Id = '4'

【讨论】:

以上是关于消息 102,级别 15,状态 1,第 1 行“日期”附近的语法不正确。在更新查询中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

消息 102,级别 15,状态 1,第 1 行“日期”附近的语法不正确。在更新查询中[关闭]

添加新的 Join 语句后 MS-SQL 存储过程引发错误。消息 102,级别 15,状态 1,第 279 行“WHERE”附近的语法不正确

错误:消息102,级别15,状态1,过程InsertCustomers,第30行'THROW'附近的语法不正确

是否可以从子查询中添加 SQL 别名?

消息 156,级别 15,状态 1,第 7 行关键字“BETWEEN”附近的语法不正确

SQL Server:使用变量创建表