SQLITE3 +执行Insert

时间:2016-01-16 13:19:34

标签: sqlite

尝试执行插入来自列表的项目:`

  
    
      

item = u'Sunil Goyal'

             

c.execute('''INSERT INTO bpersons(person_name)VALUES(?)''',item)`

    
  

很简单,但它返回

  

提供的绑定数量不正确。当前语句使用1,并且提供了11个。

显然,不是将项目作为一个元素阅读,而是阅读字符。返回此列表的早期代码没有问题:

>>> if meta[7]:#bcoz list could be empty also
    for item in meta[7]:
        print item

Sunil Goyal

Rehan Yar Khan

Kae Capital

Ashish Shankar

Karthik Reddy

Feroze Azeez

  
    
      

LEN(甲基[7])       7

    
  

知道我哪里错了吗?

1 个答案:

答案 0 :(得分:0)

insert正在寻找一个可迭代的(documentation)并且这成功,因为你的unicode字符串是一个可迭代的,但你应该把它放在一个元组或列表中,以便sqlite3正确处理。

c.execute('''INSERT INTO bpersons(person_name) VALUES (?)''',(item,))`