1
votes

I wrote the following code:

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()

When I run this code, I get an error:

Traceback (most recent call last): File "C:\Users\SanKontrol\Desktop\initialize_db.py", line 41, in c.execute('''INSERT INTO deneme(type, index, value) VALUES(?,?,?)''', values) OperationalError: near "index": syntax error

I tried many variations but still can't figure out the problem.

1

1 Answers

2
votes

INDEX is a reserved word in SQL. You must escape it appropriately in order to use it.

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