在phpMyAdmin中执行SQL语句是否需要转义双引号?
结论
你不需要对这条SQL语句里包含的双引号做额外转义处理,可以直接在phpMyAdmin的SQL执行界面运行。
原因说明
- MySQL对字符串的语法判定规则很明确:只有当字符串的包裹符和字符串内部出现的字符一致时,才需要对内部的同名符号做转义。
- 你这条语句里
replace()函数的两个参数(待查找字符串、替换后的目标字符串),全部是用单引号作为字符串边界包裹的:
update wp_postmeta set meta_value = replace(meta_value,'s:14:"_product_block";s:1:"0"','s:14:"_product_block";s:5:"26938"');
字符串内部出现的双引号会被MySQL识别为普通文本内容,不会和SQL语法标记冲突,也不会触发语法报错。
操作提示
执行表数据更新操作前,建议先备份
wp_postmeta表的全量数据,避免替换结果不符合预期时无法回滚。
内容的提问来源于stack exchange,提问作者JPashs
相关产品推荐
相关产品推荐

