Python 从多个脚本插入到Mariadb

Python 从多个脚本插入到Mariadb,python,database,raspberry-pi,mariadb,Python,Database,Raspberry Pi,Mariadb,因此,目前我有1个脚本使用python每小时将传感器数据插入我的天气数据库 现在,我添加了第二个脚本,也可以每小时将降雨数据添加到同一个表中 现在的问题是:当第二个脚本插入时,所有其他值都会“归零”。如格拉法纳所示 如果有人能给我指出正确的方向,我是在重写什么地方吗 天气传感器插入语句 sql=("INSERT INTO WEATHER_MEASUREMENT (AMBIENT_TEMPERATURE, AIR_PRESSURE, HUMIDITY) VALUES ({},{},{}

因此,目前我有1个脚本使用python每小时将传感器数据插入我的天气数据库

现在,我添加了第二个脚本,也可以每小时将降雨数据添加到同一个表中

现在的问题是:当第二个脚本插入时,所有其他值都会“归零”。如格拉法纳所示

如果有人能给我指出正确的方向,我是在重写什么地方吗

天气传感器插入语句

 sql=("INSERT INTO WEATHER_MEASUREMENT (AMBIENT_TEMPERATURE, AIR_PRESSURE, HUMIDITY) VALUES ({},{},{})".format(temperature,pressure,humidity))
         mycursor.execute(sql)
         weatherdb.commit()
sql=("INSERT INTO WEATHER_MEASUREMENT (RAINFALL) VALUES ({})".format(rainfall))
mycursor.execute(sql)
weatherdb.commit()
雨量传感器插入件

 sql=("INSERT INTO WEATHER_MEASUREMENT (AMBIENT_TEMPERATURE, AIR_PRESSURE, HUMIDITY) VALUES ({},{},{})".format(temperature,pressure,humidity))
         mycursor.execute(sql)
         weatherdb.commit()
sql=("INSERT INTO WEATHER_MEASUREMENT (RAINFALL) VALUES ({})".format(rainfall))
mycursor.execute(sql)
weatherdb.commit()

告诉我我是否理解正确: 您的“天气测量”表有4列(除ID外):环境温度、气压、湿度和降雨量。 当您添加雨量值时,它会在表中创建一个新行,其他列值为“NULL”,这就是问题所在? 如果是这种情况,您可能希望使用如下查询更新现有行:

sql = ("""
          UPDATE _ WEATHER_MEASUREMENT
          SET RAINFALL = "{}"
          WHERE id_of_the_row = {}
          """.format(rainfall, id)
mycursor.execute(sql)

您需要找到一种方法来计算刚刚用Weather sensor insert语句创建的行的ID(如果您确定时间,可能会搜索最后插入的行)。

是的,您是正确的。因此,在其他脚本之后插入雨量时,其他值为“零”或“空”,在ID设置中不确定,但是您所说的看起来像我需要做的。如果您确定您的雨量传感器查询正好在天气传感器查询之后进行,您可以执行以下请求以获取ID:sql=(“”“按id DESC”“”)从天气测量顺序中选择id)mycursor.execute(sql)last_id=mycursor.fetchall()[0]您只需检查“id”的确切标签”列,您将能够像这样获得最后一个插入行的id。之后,您将使用您的降雨数据更新该id行。啊,非常感谢。请看,我不知道该怎么做,对mariadb来说还是比较新的。我会尝试一下,谢谢!@DanF,很高兴:)