使用Python 2.7.5,我已经写了下面的代码到编译过的基于网络课程的我走,显示了如何sqlite3的作品与Python现在Python的sqlite3的执行错误
import sqlite3 as sql
database1 = sql.connect('test1.db')
db1_cursor = database1.cursor()
cmd = 'CREATE TABLE IF NOT EXISTS users(username TEXT,password TEXT)'
cmd2 = 'INSERT INTO users(username,password) VALUES("testuser,testpassword")'
cmd3 = 'SELECT username,password FROM users'
db1_cursor.execute(cmd)
db1_cursor.execute(cmd2)
db1_cursor.execute(cmd3)
database1.commit()
for x in db1_cursor:
print(x)
,在这段代码运行它给了我下面的操作错误:
Traceback (most recent call last):
File "C:\Users\Ryan\My Code Projects\Learning\udemycourse.py", line 11, in <module>
db1_cursor.execute(cmd2)
OperationalError: 1 values for 2 columns
为什么它给这个错误db1_cursor.execute(CMD2),但不是db1_cursor.execute(CMD1),我该如何解决这一问题?
这有效,但我决定使用上面的答案,因为它不会改变代码的语法以及我的udemy课程。虽然在这个过程中它会打印出'(u'testuser',u'testpassword')两次,而不是在课程中显示的内容只在控制台中打印一次。为什么是这样? –