У меня есть следующая строка кода в моем проекте, который использует Apache Derby:
stmt.executeUpdate("CREATE table "+productName+" (Time FLOAT NOT NULL PRIMARY KEY, AcidNo FLOAT, Viscosity FLOAT, Temperature FLOAT)");
Когда переменная productName начинается с буквы (т.е. "RedProduct"), все работает нормально. Когда productName начинается с цифры (например, "6Green"), таблица создается, но я получаю следующую ошибку:
java.sql.SQLSyntaxErrorException: Syntax error: Encountered "6" at line 1, column 15.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(Unknown Source)
Любые идеи?? Кстати, заключение имени таблицы в скобки не помогло. Спасибо!