String SQL = "SELECT * from USERNAME."LoginTable" ";
我有一个名为TestDB的数据库,我有一个名为USERNAME的模式,我有一个名为LoginTable的表。
我遇到的问题是,当我在NetBeans Derby SQL中运行此查询时,我需要在select语句中使用双引号,但我显然不能在Java中使用2套双引号,因为它赢了'认识到它是一个完整的字符串。写这个的正确方法是什么,这样我将来不会再出现这个问题了?
以下是我尝试运行时出现的错误消息: java.sql.SQLSyntaxErrorException:语法错误:在第1行第24列遇到“\'LoginTable \'”。
答案 0 :(得分:1)
使用反斜杠可以在字符串内转义双引号。
例如
String myString = "My String contains \"Double Quotes\"";
如果你需要在字符串中使用反斜杠,那么用反斜杠转义它。
例如
String oneBackslash = "\\";
所以你现在变成了
String SQL = "SELECT * from USERNAME.\"LoginTable\" ";
我使用的很多数据库引擎也允许使用单引号。只是不确定Derby DB是否是其中之一。