我正在将Java应用程序中的文本插入到Postgresql数据库中,但是当在String中遇到“char”时,它们都会崩溃。我尝试过使用replaceAll(“'”,“\\'”);甚至它的不同变体有更多的\ chars,但它仍然在没有逃脱符号的字符串中放置一个'。
有没有办法在String中替换'with a'?或者将字符串包含单引号的另一种方法添加到Postgresql中?
答案 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