You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL Update语句含单双引号的字段值处理方法咨询

解决SQL Update语句中SET子句包含单引号的问题

嘿,这个问题我太熟了!SQL里字符串内部的单引号确实是个容易踩坑的点,咱们一步步来搞定你这个Update语句的问题。

问题根源

你写的语句里,info字段的值是用单引号包裹的,但字符串内容里又出现了单引号(比如LinkAction('togglemore', 'companies','jobs')里的引号),SQL会把第一个内部单引号当成整个字符串的结束标记,直接导致语法报错。

解决方法:转义单引号

在SQL的字符串语法里,**要在单引号包裹的字符串中表示一个普通单引号,只需要把它换成两个连续的单引号('')**就可以了。双引号在大多数数据库里不需要额外转义(只要它是字符串内容的一部分,不是用来引用标识符的),所以不用管它。

把你的语句修改后应该是这样:

UPDATE Users 
SET info = '[user{"LinkAction(''togglemore'', ''companies'',''jobs'')","IsVisible":true}]' 
WHERE user LIKE '%admin%'

简单说就是把原字符串里的每个'都替换成'',这样SQL就会正确识别这些单引号是字符串内容的一部分,而不是结束符啦。

额外建议:用参数化查询更稳妥

如果是在应用程序里执行这条语句,更推荐用参数化查询(比如Prepared Statement),这样不仅不用手动转义引号,还能避免SQL注入的风险,安全性和可读性都会更好。不过如果是直接在数据库客户端执行,上面的转义方法就足够用了。

内容的提问来源于stack exchange,提问作者David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:32:42