CREATE TABLE IF NOT EXISTS tmp_park_log (
uniqueid VARCHAR (20),
parked_sec INT
) ;
DELETE
FROM
tmp_park_log ;
INSERT INTO tmp_park_log (uniqueid, parked_sec)
SELECT
uniqueid,
SUM(parked_sec)
FROM
park_log
GROUP BY uniqueid ;
这是在MySql中成功执行的: 但是,当我把它放在一个字符串中并使用Prepared Statement时,它会给出以下错误:
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 'DELETE FROM tmp_park_log; INSERT INTO tmp_park_log (uniqueid, parked_sec) SELEC' at line 1
答案 0 :(得分:1)
预处理语句的SQL语法不支持多语句(即,单个字符串中的多个语句由“;”字符分隔)。
见这里:http://dev.mysql.com/doc/refman/5.0/en/sql-syntax-prepared-statements.html
答案 1 :(得分:0)
在第一种情况下,你不使用一个突击队而是使用一些突击队,当你把它作为预备语句放在一个字符串中时,你必须为你想要执行的每一个突击队员创建一个预备语句。
答案 2 :(得分:0)
由于您没有附加Java代码,我认为您是 试图为所有文本准备声明,而不是准备每一个并执行它。
一些提示:
BR