2011-04-10 158 views
1

即时得到这个错误:sqlite3的 '插入' 的错误

cursor.execute( 'INSERT INTO课程(标题)VALUES()?',(标题))
sqlite3.ProgrammingError:提供绑定的不正确的数。当前语句使用1,并提供了11。

这里是我的代码:

try: 
    cursor.execute("""CREATE TABLE COURSE 
       (course_id INTEGER PRIMARY KEY, 
        title TEXT)""") 

except sql.OperationalError, msg: 
    print msg 

.....

def add_course(title): 
    try: 
    cursor.execute('''INSERT INTO COURSE (title) VALUES (?)''',(title))  
    except sql.OperationalError, msg: 
    print msg, 

.....

add_course('Calculus II') 

它接缝,如果它计算每个字符作为值,但我不明白为什么..我有很多表,他们正确处理字符串(TEXT)类型。我其他表格中唯一的区别是它们具有多个值。

+0

sql引用sqlite3 ..我做“导入sqlite3为sql” – Alex 2011-04-10 04:49:23

+0

我想数据类型是作为字符数组传递的。 – 2011-04-10 04:55:06

回答

2

尝试传递一个元组:

cursor.execute('''INSERT INTO COURSE (title) VALUES (?)''',(title,)) 

它遍历称号。

+0

这工作!谢谢!!我一直在这几个小时杀死自己 – Alex 2011-04-10 04:59:20

+0

啊恭喜! :) – 2011-04-10 05:05:44