【问题标题】:INSERT SELECT JAVA JDBC插入选择 JAVA JDBC
【发布时间】:2010-12-07 17:36:52
【问题描述】:

如何使用 insert select 从另一个表中插入所有记录?

       try {
        PreparedStatement st=dc.getConnection().prepareStatement("INSERT INTO timerecord (empno)  SELECT empno FROM Employeemaster WHERE empstatus = 'Active'" );

        i=st.executeUpdate();
        if (i>0) {
            dc.getConnection().commit();
        }
    } catch (Exception e) {
       JOptionPane.showMessageDialog(this,"Database Error: "+e.getMessage());
       return;
    }

【问题讨论】:

  • 您遇到了什么错误?此外,您可能希望使用 swing worker 将可能长时间运行的操作与事件调度线程分离。
  • 上面的查询不起作用吗?你得到什么错误
  • 尽可能提供堆栈跟踪...
  • 我得到的错误是数据库错误;您的 SQL 语法有错误;检查与您的 MYSQL 版本相对应的手册
  • @cassrynne 这更像是一个 MySQL 问题。

标签: java mysql select jdbc insert


【解决方案1】:

在尝试进一步操作之前,通过直接使用数据库运行语句来确保语法错误与 Java 或您的格式无关。

此外,PreparedStatement 的优点之一是您可以包含参数,而不是像“Active”这样的硬编码。这将有助于防止其他语法错误。

【讨论】:

    猜你喜欢
    • 2013-11-28
    • 2018-03-20
    • 2018-07-29
    • 1970-01-01
    • 2015-10-14
    • 1970-01-01
    • 2012-11-02
    • 2011-03-28
    • 2015-09-28
    相关资源
    最近更新 更多