gpt4 book ai didi

python - 如何使用列表元素更新数据库?

转载 作者:行者123 更新时间:2023-11-29 05:47:47 30 4
gpt4 key购买 nike

我想每 60 秒用列表元素更新我的数据库,我试过这段代码:

   import pymysql
import random
import time
t=[random.randint(1,21) , random.randint(0,99) , random.randint(1,21) , random.randint(1,100)]
while True:
conn = pymysql.connect(host="localhost", user="root", password="", db="LEDS")
myCursor = conn.cursor()
myCursor.execute("UPDATE DATA SET CAMERA1=t[0]")
myCursor.execute("UPDATE DATA SET CAMERA2=t[1]")
myCursor.execute("UPDATE DATA SET CAMERA3=t[2]")
myCursor.execute("UPDATE DATA SET CAMERA4=t[3]")
time.sleep(60)
conn.commit()
conn.close()

我是 MySQL 的新手,有人可以帮忙吗?

最佳答案

您的解决方案的问题是您传递的列表值并不是真正的列表值。由于您已将它们作为纯字符串传递,因此不会正确执行。您可能应该将 while 循环中的代码更改为如下所示:

while True:
conn = pymysql.connect(host="localhost", user="root", password="", db="LEDS")
myCursor = conn.cursor()
myCursor.execute("UPDATE DATA SET CAMERA1=%i", (t[0],))
myCursor.execute("UPDATE DATA SET CAMERA2=%i", (t[1],))
myCursor.execute("UPDATE DATA SET CAMERA3=%i", (t[2],))
myCursor.execute("UPDATE DATA SET CAMERA4=%i", (t[3],))

您提供的代码的问题是您没有传递列表元素的值,因为您没有在代码中引用它。希望这会有所帮助。

编辑:根据 Dylan Goldsborough 更新了防止 SQL 注入(inject)的答案

关于python - 如何使用列表元素更新数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58025680/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com