java - 从另一个表创建表时出现语法错误

标签 java ms-access

我的代码:

    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 Driver] CREATE TABLE 语句中的语法错误。 在 sun.jdbc.odbc.JdbcOdbc.createSQLException(未知来源) 在 sun.jdbc.odbc.JdbcOdbc.standardError(未知来源)

请帮忙,我是 java 编码的新手。

最佳答案

对于 Access,基于查询数据创建新表的语法是:

SELECT INTO newTable
FROM oldTable;

所以你的代码应该重写为:

String cmdstr = "insert into table " + tableName + " From Master_Sheet;";

确保您的 SQL 语句遵循 MS Access syntax在您的 Java 代码中使用它们之前。

关于java - 从另一个表创建表时出现语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13101031/

相关文章:

java - 将谓词应用于 Java 中的 getter 列表

ms-access - 为开发人员记录 Access 应用程序

java - 忽略从数据库中获取的冗余值

mysql - Windows 并行虚拟机上的 MS Access 连接到 Linux 并行虚拟机上的 MySQL 服务器

object - 在黑暗中处理 OLE 应用程序

sql - 在子查询中选择多于一列

mysql - 将多个表中的数据插入到一个表中

java - android 当回车时清除RecyclerView

java - 在同一个类中同时使用继承和组合?

java - 批处理文件错误 - 线程 "main"中出现异常,但无需批处理文件即可编译并正常运行