从mysql数据库中选择带有撇号的列名

时间:2013-06-05 12:51:16

标签: java mysql sql

我有一张表格,其中有一个名为 bureau d'étude

的列

当我选择时:

String sql = "select bureau d'étude from table";

服务器显示语法错误。如何隐藏或替换这个撇号?

3 个答案:

答案 0 :(得分:3)

您应该使用PreparedStatement来避免这些问题,从而避免SQL注入:

PreparedStatement statementSelect;

String sql = "select ? from ?";

try
{
  statementSelect = myConnection.prepareStatement(sql);

  statementSelect.setString(1,"bureau d'étude");
  statementSelect.setString(2,"table");
  statementSelect.executeQuery();
}
catch (SQLException e )
{
  //handle this
}

答案 1 :(得分:2)

String sql = "select `bureau d''étude` from table";

由于列名中有空格,请确保用`。

封装它

此外,您可以使用另一个单引号转义单引号。

答案 2 :(得分:1)

您可以尝试以下操作:

String sql = "select [bureau d''étude] from table";