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