将带有单引号的字符串从Java插入Postgresql

时间:2009-06-04 22:41:13

标签: java postgresql quotes

我正在将Java应用程序中的文本插入到Postgresql数据库中,但是当在String中遇到“char”时,它们都会崩溃。我尝试过使用replaceAll(“'”,“\\'”);甚至它的不同变体有更多的\ chars,但它仍然在没有逃脱符号的字符串中放置一个'。

有没有办法在String中替换'with a'?或者将字符串包含单引号的另一种方法添加到Postgresql中?

2 个答案:

答案 0 :(得分:15)

如果您正确使用prepared statements,则不必担心手动执行此操作。

答案 1 :(得分:2)

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

示例:

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

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

示例:

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

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