【问题标题】:Insert does not work in Sqlite with Python插入在带有 Python 的 Sqlite 中不起作用
【发布时间】:2016-11-17 06:35:37
【问题描述】:

我写了以下代码:

for device_index in range(total_devices):
    slave_address = device_index+1
    offset = device_index * 10
    for i in range(registers_per_device):
        register = offset + i
        if i==0 :
            values = ('h', register, 85)
        elif i==1 :
            values = ['h', register, 170]
        elif i==2 :
            values = ['h', register, 34]
        elif i==3 :
            values = ['h', register, 1]
        elif i==4 :
            values = ['h', register, 0]
        elif i==5 :
            values = ['h', register, 200]
        elif i==6 :
            values = ['h', register, 200]
        elif i==7 :
            values = ['h', register, slave_address]
        elif i==8 :
            values = ['h', register, 0]
        elif i==9 :
            values = ['h', register, 0]

        c.execute('''INSERT INTO deneme(type, index, value) VALUES(?,?,?)''', values)

        conn.commit()

当我运行这段代码时,我得到一个错误:

Traceback(最近一次调用最后一次):文件 “C:\Users\SanKontrol\Desktop\initialize_db.py”,第 41 行,在 c.execute('''INSERT INTO deneme(type, index, value) VALUES(?,?,?)''', values) OperationalError: near "index": 语法错误

我尝试了很多变化,但仍然无法找出问题所在。

【问题讨论】:

    标签: python sqlite insert


    【解决方案1】:

    INDEX 是 SQL 中的保留字。您必须适当地对其进行转义才能使用它。

    '''..., `index`, ...'''
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-02
      • 2020-06-19
      • 2016-12-13
      • 1970-01-01
      • 2017-02-21
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多