【发布时间】:2012-09-01 06:27:48
【问题描述】:
我有一张桌子test(id,name)。
我需要插入如下值:user's log、'my user'、customer's。
insert into test values (1,'user's log');
insert into test values (2,''my users'');
insert into test values (3,'customer's');
如果我运行上述任何语句,我会收到错误消息。
如果有任何方法可以正确地做到这一点,请分享。我不想要任何准备好的陈述。
是否可以使用sql转义机制?
【问题讨论】:
-
使用转义客户端库提供的任何值。要了解更多信息,您必须说明您是如何访问数据库的。
-
@Richard Huxton 数据库被 java 访问。
-
所以使用标准的 jdbc 占位符。或者解释一下为什么这不是最佳选择。
-
@Richard Huxton 我并不是说这不是最佳选择,我正在搜索他们是否存在 sql 中的任何转义方法。
-
好吧,请参阅下面@Claudix 的回复,但显然值文字将需要不同的转义,具体取决于它们的类型postgresql.org/docs/current/static/datatype.html
标签: sql postgresql quotes string-literals