SqlServer 插入单引号
相关链接:
SqlServer如何向数据库插入带有单引号(’)的字符串
在 SqlServer 中执行如下 SQL 语句会抛出异常
1
UPDATE tablename SET Country='US',Province='MO',City='Lee's Summit',Address1='',Address2='',Address3='',PostCode='64086',Telephone='',isSpider='1' WHERE ClientOrderCode='xxx'
1
2
3
4
5
6
7
UPDATE tablename SET Country='US',Province='MO',City='Lee's Summit',Address1='',Address2='',Address3='',PostCode='64086',Telephone='',isSpider='1' WHERE ClientOrderCode='xxx'
> Msg 102, Level 15, State 1, Server DataServer002, Procedure , Line 0
“s”附近有语法错误。
> Msg 105, Level 15, State 1, Server DataServer002, Procedure , Line 0
字符串 '' 后的引号不完整。
> [42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]“s”附近有语法错误。 (102)
[42000] [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]字符串 '' 后的引号不完整。 (105)
原因:
'Lee's Summit'
中的单引号 's
导致了异常。正确的 SqlServer 语法如下:
1
UPDATE tablename SET Country='US',Province='MO',City='Lee''s Summit',Address1='',Address2='',Address3='',PostCode='64086',Telephone='',isSpider='1' WHERE ClientOrderCode='xxx'
解决方法:
1
str.replace("'", "''") # 将单引号 ' 替换成两个单引号 '' 就可以解决