2016-11-16 6 views
1

とSqliteをして動作しません:挿入は、私は次のコードを書いたPythonの

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

私は」多くのバリエーションを試してみましたが、まだすることができます問題を解明する

答えて

2

INDEXはSQLの予約語です。それを使用するには、適切にエスケープする必要があります。

'''..., `index`, ...''' 
関連する問題