Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MySql中使用字符串插入到表中_Mysql - Fatal编程技术网

在MySql中使用字符串插入到表中

在MySql中使用字符串插入到表中,mysql,Mysql,这在MySql中成功执行: 但是,当我将其放入字符串并使用Prepared语句时,它会给出以下错误: 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

这在MySql中成功执行: 但是,当我将其放入字符串并使用Prepared语句时,它会给出以下错误:

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 ;

在第一种情况下,您不使用一个命令,而是使用几个命令,当您将其作为准备语句放入字符串中时,必须为要执行的每个命令创建一个准备语句

预处理语句的SQL语法不支持多个语句(即,单个字符串中由“;”字符分隔的多个语句)


请参见此处:

既然您没有附加Java代码,我想您是 尝试为所有文本准备语句,而不是准备每个语句并执行它

几点提示:

  • 无需准备CREATETABLE语句,只需使用CREATE语句并执行它(因为不使用绑定变量)
  • 如果您的应用程序允许,请考虑使用截断而不是删除,这将更快,并减少日志生成。
  • 不要忘记提交:)

  • BR

    您应该将每个命令放入单独的语句中。
    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