エラーを回避するために次のクエリを再設計するにはどうすればよいですか:
String sqlQueryToMakeTable = "create table " + UserEmail +
"(" +
"NameOfThePhoto varchar(255)," +
"Caption varchar(255)" +
")";
// UserEmail is of type String
UserEmailの形式はuser@host.comで、クエリを実行すると次のエラーが発生します。
java.sql.SQLSyntaxErrorException: Lexical error at line 1, column 18. Encountered: "@" (64), after : "".
at org.apache.derby.client.am.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.Connection.prepareStatement(Unknown Source)
at com.sun.gjc.spi.base.ConnectionHolder.prepareStatement(ConnectionHolder.java:562)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:255)
at com.sun.gjc.spi.jdbc40.ConnectionWrapper40.prepareCachedStatement(ConnectionWrapper40.java:52)
at com.sun.gjc.spi.ManagedConnection.prepareCachedStatement(ManagedConnection.java:964)
.....
例外の理由がわかりました。メールアドレスを二重引用符で囲んでこのクエリを直接実行しますが、ここで何をすればよいですか?
EDITテーブル名に @ を含めることはできませんか?