1
我有一张表,技能,尽管我试图向它添加行,但它目前是空的。我有一个CGI脚本以下Python代码:为什么这个sqlite3插入语句不添加一行?
open('/tmp/skills', 'a').write('Reached 1!\n')
if get_cgi('nous2dianoia'):
open('/tmp/skills', 'a').write('Reached 2!\n')
#if (get_cgi('previous') and get_cgi('name') and get_cgi('previous') !=
#get_cgi('name')):
#cursor.execute('DELETE FROM skills WHERE name = ?;',
#(get_cgi('previous'),))
cursor.execute('''INSERT INTO skills (name, nous2dianoia,
hereandnow2escapist, nf2nt, social2individual, ithou2iit,
slow2quick) VALUES (?, ?, ?, ?, ?, ?, ?);''',
(get_cgi('name'), get_cgi('nous2dianoia'),
get_cgi('hereandnow2escapist'), get_cgi('nf2nt'),
get_cgi('social2individual'), get_cgi('ithou2iit'),
get_cgi('slow2quick'),))
open('/tmp/skills', 'a').write('Reached 3!\n')
当我打开一个页面,/ tmp目录/技能有一个新追加:
Reached 1!
Reached 2!
Reached 3!
然而,该表为空。 (脚本的其余部分运行时不会崩溃,并显示如果在没有任何CGI变量传递的情况下调用脚本时显示的内容。)
我还没有开始事务; SQL操作不是特别先进或错综复杂。
有关我如何在没有报告错误的情况下运行此操作,但在数据库中有空技能表的任何见解?
谢谢,
谢谢;将接受(应该是connection.commit())。我早些时候尝试提交,并得到一个错误。 – JonathanHayward