如何在MYSQL中插入多个值?

2024-04-29 04:24:14 发布

您现在位置:Python中文网/ 问答频道 /正文

我有以下疑问

INSERT INTO `min01_aggregated_data_800` (`datenum`,`Timestamp`,`QFlag_R6_WYaw`)  VALUES ('734970.002777778','2012-04-11 00:04:00.000','989898') ON DUPLICATE KEY UPDATE `datenum`=VALUES(`datenum`);
INSERT INTO `min01_aggregated_data_100` (`datenum`,`Timestamp`,`QFlag_R6_WYaw`)  VALUES ('734970.002777778','2012-04-11 00:04:00.000','989898') ON DUPLICATE KEY UPDATE `datenum`=VALUES(`datenum`);
INSERT INTO `min01_aggregated_data_300` (`datenum`,`Timestamp`,`QFlag_R6_WYaw`)  VALUES ('734970.002777778','2012-04-11 00:04:00.000','989898') ON DUPLICATE KEY UPDATE `datenum`=VALUES(`datenum`);

我使用mysql.connector包将数据插入MySQL

^{pr2}$

但是我得到了以下错误Use multi=True when executing multiple statements

我尝试使用multi=True在这个例子中我没有得到任何异常,但是数据不会被插入到MySQL中。如何插入多行?在


Tags: keydataonupdatetimestampinsertvaluesinto
2条回答

我看到三种选择:

  1. 将每个查询分别发送到数据库:

    [...]
    self.con.execute(query1)
    self.con.execute(query2)
    self.con.execute(query3)
    [...]
    
  2. [删除,因为此处不适用]

  3. 但是,我对这个multi=True不太熟悉;可能有一个解决方案反复调用self.con.nextset()。根据文档,这只适用于多个结果集,但在多个查询请求中可能也需要它。

您有三个单独的查询,因此每个查询都应单独运行,即:

self.con.execute(query1)
self.con.execute(query2)
self.con.execute(query3)

相关问题 更多 >