小编And*_*rew的帖子

Java PreparedStatement使用两个单引号作为空字符串参数

我使用的是如下PreparedStatement的sql:

String sql = "insert into foo (a,b,c) values (?,?,?)";
 ps = conn.prepareStatement(sql);

  ps.setString(psIndex++, a);
  ps.setString(psIndex++, b);
  ps.setString(psIndex++, c);
Run Code Online (Sandbox Code Playgroud)

但是,如果任何变量是空字符串,则结果语句将获得两个单引号.如在:VALUES ('foo','','') 然后我得到一个例外,因为两个单引号是转义序列.

我不敢相信我通过搜索找不到任何东西,但我不能.这里发生了什么?

java sql escaping prepared-statement

7
推荐指数
1
解决办法
5673
查看次数

标签 统计

escaping ×1

java ×1

prepared-statement ×1

sql ×1