Java PreparedStatement和Alter Table语法错误

时间:2011-03-24 09:04:13

标签: java mysql prepared-statement sqlexception


我必须使用PreparedStatement在表的字段上创建索引。我要执行的查询如下:

ALTER TABLE esa_matrix ADD INDEX doc_index (id_doc) 

因此,我创建了一个PreparedStatement实例,其中包含相同的查询文本,并对其执行executeUpdate()方法。但是在执行时我得到一个SQL语法错误。 这是PreparedStatement实例的创建:

PreparedStatement ps = conn.prepareStatement("ALTER TABLE "+ESATable+ "ADD INDEX doc_index ("+idDocLabel+")");                                  
ps.executeUpdate();
ps.close();  

我得到的这个SQLException:

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'doc_index (id_doc)' at line 1

我该如何解决这个问题? 提前谢谢,
安东尼奥

1 个答案:

答案 0 :(得分:3)

你在“ADD”之前忘记了一个空格。