Java 从另一个表创建表时出现语法错误
我的代码:Java 从另一个表创建表时出现语法错误,java,ms-access,Java,Ms Access,我的代码: Statement stmt=null; String cmdstr = "create table " + tableName + " as (select * from Master_Sheet);"; try{ stmt = con.createStatement(); stmt.executeUpdate(cmdstr); } c
Statement stmt=null;
String cmdstr = "create table " + tableName + " as (select * from Master_Sheet);";
try{
stmt = con.createStatement();
stmt.executeUpdate(cmdstr);
}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try{
if(stmt != null)
stmt.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}
输出:
java.sql.SQLException:[Microsoft][ODBC Microsoft Access驱动程序]CREATE TABLE语句中出现语法错误。
位于sun.jdbc.odbc.JdbcOdbc.createSQLException(未知源)
位于sun.jdbc.odbc.JdbcOdbc.standardError(未知源)
请帮助,我对java编码非常陌生。您要求Access使用以下SQL语句创建表:
create table yourTableName as (select * from Master_Sheet);
(包括末尾的
;
)。它告诉你这不是一个有效的语法。这不是Java的东西,而是访问的东西。请参阅链接的创建表文档。(我链接了最新版本,请确保找到您正在使用的Access版本。)对于Access,基于查询数据创建新表的语法为:
SELECT INTO newTable
FROM oldTable;
因此,您的代码应重写为:
String cmdstr = "insert into table " + tableName + " From Master_Sheet;";
在java代码中使用SQL语句之前,请确保SQL语句遵循