Java 使用namedjdbctemplate执行alter以添加列时发生异常
我有另一个问题Java 使用namedjdbctemplate执行alter以添加列时发生异常,java,mysql,h2,jdbctemplate,badsqlgrammarexception,Java,Mysql,H2,Jdbctemplate,Badsqlgrammarexception,我有另一个问题 ALTER TABLE Table_name ADD(coumn1 DOUBLE,coumn2 DOUBLE); 我正在使用 this.namedParameterJdbcTemplate.execute(alterTableSQL, namedValues, new PreparedStatementCallback<Boolean>() { @Override public Boolean doInPreparedStatement(Pre
ALTER TABLE Table_name ADD(coumn1 DOUBLE,coumn2 DOUBLE);
我正在使用
this.namedParameterJdbcTemplate.execute(alterTableSQL, namedValues, new PreparedStatementCallback<Boolean>() {
@Override
public Boolean doInPreparedStatement(PreparedStatement ps) throws SQLException, DataAccessException {
return ps.execute();
}
});
this.namedParameterJdbcTemplate.execute(alterTableSQL,NamedValue,new PreparedStatementCallback()){
@凌驾
公共布尔doInPreparedStatement(PreparedStatement ps)抛出SQLException、DataAccessException{
返回ps.execute();
}
});
在执行语句时,它向我抛出以下异常
org.springframework.jdbc.BadSqlGrammarException: PreparedStatementCallback; bad SQL grammar [ALTER TABLE <sample> ADD (
coumn1 DOUBLE,
coumn2 DOUBLE
);]; nested exception is org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement "ALTER TABLE TEMPLATE_1 ADD ([*]
coumn1 DOUBLE,
coumn2 DOUBLE
); "; expected "identifier"; SQL statement:
ALTER TABLE template_1 ADD (
coumn1 DOUBLE,
coumn2 DOUBLE
); [42001-160]
org.springframework.jdbc.BadSqlGrammarException:PreparedStatementCallback;错误的SQL语法[ALTER TABLE ADD](
coumn1 DOUBLE,
双人床
);]; 嵌套异常为org.h2.jdbc.JdbcSQLException:SQL语句“ALTER TABLE TEMPLATE_1 ADD([*]
coumn1 DOUBLE,
双人床
); "; 预期的“标识符”;SQL语句:
更改表格模板\u 1添加(
coumn1 DOUBLE,
双人床
); [42001-160]
我应该如何处理这个问题?您可以在构建查询字符串的地方添加java代码吗?您使用的是MySQL还是H2?您的问题被标记为“mysql”,但您的异常stacktrace提到了H2。对于我的测试用例,我使用H2。