Java 在来自另一个表的表中插入数据

Java 在来自另一个表的表中插入数据,java,mysql,netbeans-7,wampserver,Java,Mysql,Netbeans 7,Wampserver,我有一个疑问: rs = st.executeQuery("SELECT holderName,COUNT(holderName) as total, SUM(is_late) as total_late FROM (SELECT *,timestampdiff(minute, t1.startTime, t.IOTime) as is_late FROM (SELECT holderName, IODate, MIN(IOTime) as IOTime FROM tbl_records whe

我有一个疑问:

rs = st.executeQuery("SELECT holderName,COUNT(holderName) as total, SUM(is_late) as total_late FROM (SELECT *,timestampdiff(minute, t1.startTime, t.IOTime) as is_late FROM (SELECT holderName, IODate, MIN(IOTime) as IOTime FROM tbl_records where IOStatus='Entry'AND IODate BETWEEN'"+from+"'AND'"+to+"' GROUP BY holderName, IODate) t JOIN tbl_emp t1 ON t.holderName = t1.name HAVING is_late > 0) AS t2 GROUP BY holderName  ORDER BY holderName, IODate");
这将返回3个值,我希望它放在另一个表中

我试过这个:

st.executeUpdate("insert into tbl_temp values(null,name,total,total_late) SELECT holderName,COUNT(holderName) as total, SUM(is_late) as total_late FROM (SELECT *,timestampdiff(minute, t1.startTime, t.IOTime) as is_late FROM (SELECT holderName, IODate, MIN(IOTime) as IOTime FROM tbl_records where IOStatus='Entry'AND IODate BETWEEN'"+from+"'AND'"+to+"' GROUP BY holderName, IODate) t JOIN tbl_emp t1 ON t.holderName = t1.name HAVING is_late > 0) AS t2 GROUP BY holderName  ORDER BY holderName, IODate");
我在执行插入时出错了


谢谢

如果你把得到的错误放在上面,那就太好了。我现在可以发现的一个错误是在查询语法中,您不能有值,它应该是这样的:

INSERT INTO tbl_temp(name,total,total_late)
SELECT holderName,COUNT(holderName) as tot...

请看一下

插入中的空值是用于自动递增的,希望您能够防止SQL注入。这是可以利用的。也只是张贴你得到的错误。如果我的怀疑是对的,您只需要删除values语句中的
null
,因为您不需要指定自动编号。您会遇到什么错误?你应该尽量使用事先准备好的陈述。从resultset获取数据,并将其作为参数传递到preparedstatement中。这个问题已经解决了!不应该写“价值观”谢谢!