Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python中sql语句的语法_Python_Sql - Fatal编程技术网

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

我得到这段代码是为了通过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)
    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