不在MySQL表中插入值

时间:2018-03-13 09:09:22

标签: python mysql raspberry-pi raspberry-pi3

我们有两个与我们的RPi3连接的红外传感器,我们希望将传感器数据存储到数据库中。 这是我们试图运行的代码。

db = MySQLdb.connect("localhost","Keerti","Keerti","test")

curs = db.cursor()

try:
    print "module test"
    time.sleep(2)
    print "ready"
while True:
    if GPIO.input(4):
        print "motion detected 1"
        curs.execute("INSERT INTO parktest(irname,irdata) VALUES('%f', '%f')" % (1,1))
        time.sleep(1)
    else:
        print "no motion 1"
        curs.execute("INSERT INTO parktest(irname,irdata) VALUES('%f', '%f')" % (1,0))
    time.sleep(1)
    if GPIO.input(14):
        print "motion detected 2"
        curs.execute("INSERT INTO parktest(irname, irdata) VALUES('%f','%f')" % (2,1))
        time.sleep(1)
    else:
        print "no motion 2"
        curs.execute("INSERT INTO parktest(irname, irdata) VALUES('%f','%f')" % (2,0))
    time.sleep(1)

except KeyboardInterrupt:
    print "quit"
    GPIO.cleanup()

这样运行正常,没有任何警告或错误。但是,它不会在表格中存储任何内容。

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

执行() 之后,您必须使用commit()确认所有待处理的更改。

或者您可以使用rollback()取消所有挂件。

否则,数据库中不会更改任何内容。