2

我正在将 Java 应用程序中的文本插入 Postgresql 数据库,但是当在字符串中遇到 ' 字符时,它都崩溃了。我试过使用 replaceAll(" ' ", " \\' "); 即使它具有更多 \ 字符的不同变体,但它仍然在没有转义符号的字符串中放置一个 '。

有没有办法用字符串中的“替换”?或者另一种将包含单引号的字符串放入 Postgresql 的方法?

4

2 回答 2

15

如果您正确使用准备好的语句,则不必担心手动执行此操作。

于 2009-06-04T22:44:37.987 回答
2

大多数 SQL 实现使用 ''(2 个单引号)来转义单引号。

例子:

SELECT * FROM users WHERE f_name='foo''bar';

或者你可以使用双美元符号:

例子:

SELECT * FROM users WHERE f_name=$$foo''bar$$;

两个语句都会搜索字符串 foo'bar

于 2009-06-04T22:43:27.317 回答