python中sql语句的语法
我得到这段代码是为了通过python在Sql数据库中保存一些值。但它不起作用。你能帮我找到问题吗python中sql语句的语法,python,sql,Python,Sql,我得到这段代码是为了通过python在Sql数据库中保存一些值。但它不起作用。你能帮我找到问题吗 def saveValue(art, value, timestamp): # Missing: Check if table setting exists or create it # First check if row exists cursor.execute('SELECT count(*) FROM setting WHERE parameter=%s', art
def saveValue(art, value, timestamp):
# Missing: Check if table setting exists or create it
# First check if row exists
cursor.execute('SELECT count(*) FROM setting WHERE parameter=%s', art)
existing = cursor.fetchone()
if existing[0]==0:
cursor.execute('INSERT INTO setting (parameter, wert) VALUES (%s, NULL)', art)
db.commit()
# Update row
cursor.execute('UPDATE setting set value=%s WHERE parameter=%s', value, art)
db.commit()
# Check if measure-table exisits or create ist
cursor.execute('SHOW TABLES LIKE measure_%s', art)
result = cursor.fetchone()
if not result:
cursor.execute('CREATE TABLE measure_%s (id INT NOT NULL AUTO_INCREMENT, time int(11), value float(6), PRIMARY KEY (id))', art)
db.commit()
# Insert measure value
sql = 'INSERT INTO measure_%s (time, value) VALUES (%s, %s)'
args= art, timestamp, value
cursor.execute(sql,args)
db.commit()
甚至可以优化/最小化代码?什么不起作用?你收到错误信息了吗?如果是,哪一个?如果存在,请提供回溯不幸的是,我没有收到任何错误消息。但是如果我在最后一行输入一个“ok”,就没有输出了。如果我删除脚本的后半部分,将有一个打印输出。所以第二部分有些错误,但我不知道如何找到错误。此外,我认为它写得有点太复杂了,不是吗?前半部分到底是什么?您使用的是哪种数据库引擎?SQLite?第二部分是“检查是否存在度量表或创建度量表”结束。我正在使用:import MySQLdb