我有两个数据库。一种在像 O'Bannon 这样的名字中有撇号,而另一种则没有。我需要合并它们并找到重复项。由于添加撇号更难,我正在尝试将其删除
但是这个...
UPDATE Client
SET Last_Name = REPLACE(''','')
Run Code Online (Sandbox Code Playgroud)
显然行不通。如何摆脱'.
我正在使用 Xojo(不是 PHP)
开始了:
UPDATE Client SET Last_Name = REPLACE(Last_Name, '\'', '');
Run Code Online (Sandbox Code Playgroud)
你只需要转义撇号就会反斜杠。
就像你说的,你会想要转义引号字符。
请参阅有关字符串文字的文档:
有几种方法可以在字符串中包含引号字符:
用“'”引用的字符串中的“'”可以写成“''”。
用“””引用的字符串中的“””可以写成“””。
在引号字符之前加上转义字符(“\”)。
用“””引用的字符串中的“'”不需要特殊处理,不需要加倍或转义。同样,用“'”引用的字符串中的“””不需要特殊处理。
但是,根据您处理 SQL 的方式,您可能需要做的不止这些。如果应用程序正在对引号字符进行转义,并将其传递给存储过程调用,并且未将参数绑定与准备好的语句一起使用,则您可能会遇到相同的问题。这是因为 MySQL 在处理 SP 的输入时删除了转义字符。然后未净化的字符进入查询构造,如果应该在那里转义,问题就会重复。在这种情况下,您需要切换到参数绑定,这样转义和查询构造就不受您的控制了。
| 归档时间: |
|
| 查看次数: |
27328 次 |
| 最近记录: |