Mysql 尝试使用名为'lineno'的列时出现语法错误`

Mysql 尝试使用名为'lineno'的列时出现语法错误`,mysql,sql,sql-server,Mysql,Sql,Sql Server,我有MYSQL和MSSQL查询。MYSQL查询工作正常,但修改为MSSQL查询的同一查询显示错误 在这个MSSQL查询中,testCaseName是VARBINARY(MAX)类型 MYSQL查询: update tce_lineno set testcasename=concat(concat(testcasename,','),:tcname) where lineno=:lineno and project=:project update tce_lineno set testca

我有MYSQL和MSSQL查询。MYSQL查询工作正常,但修改为MSSQL查询的同一查询显示错误

在这个MSSQL查询中,testCaseName是VARBINARY(MAX)类型

MYSQL查询:

update tce_lineno 
set testcasename=concat(concat(testcasename,','),:tcname) 
where lineno=:lineno and project=:project
update tce_lineno 
set testcasename=((testcasename +',')+'rosdsadp') 
where lineno='23' and project='proj001';
MSSQL查询:

update tce_lineno 
set testcasename=concat(concat(testcasename,','),:tcname) 
where lineno=:lineno and project=:project
update tce_lineno 
set testcasename=((testcasename +',')+'rosdsadp') 
where lineno='23' and project='proj001';
错误是:

关键字“lineno”附近的语法不正确

如何以正确的方式修改?

lineno
是一个,需要用括号转义

where [lineno] = '23' and project = 'proj001';
lineno
是一个,需要用括号转义

where [lineno] = '23' and project = 'proj001';

不要使用
varbinary(max)
,这是blob类型。消息与标题无关,它甚至没有提到文本列或
CONCAT
函数是的,在MYSQL中使用blob类型作为testCaseName,这就是我在MSSQL中使用varbinary(max)类型。此外,t-SQL语句使用硬编码值而不是参数(例如
@lineno
)。不要使用
varbinary(max)
,这是一种blob类型。消息与标题无关,它甚至没有提到文本列或
CONCAT
函数是的,在MYSQL中使用blob类型作为testCaseName,我使用了varbinary(max)输入MSSQL。此外,T-SQL语句使用硬编码值而不是参数(例如
@lineno
)。是否有其他方法避免此错误,数据类型varbinary(max)和varchar在add运算符中不兼容。当尝试更新记录时。是否有其他方法避免此错误,数据类型varbinary(max)和varchar在add运算符中不兼容。尝试更新记录时。