sqlite3是一个数据库,他可以由python,当你想要让用户输入一些信息并插入到sqlite3数据库里时,就要用到python的一个代码:input()
下面给大家看一段代码
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute('CREATE TABLE TEST
NAME TEXT NOT NULL
SEX TEXT NOT NULL')
a = input("输入你的名字: ")
b = input("输入你的性别: ")
conn.execute("INSERT INTO TEST
VALUES (%s,%s)" % (a,b))
## 因为input储存的是字符串,所以这里应该没问题
conn.commit()
conn.close()
这样看应该是没什么问题,但是还是会报错:No such column:xxx(xxx是你input输入的信息)
这是怎么回事呢?input不是本来就是字符串吗?
其实我也不知道为什么,但是%s这里必须加一对引号:'%s'
改后的代码片段:
conn.execute("INSERT INTO TEST
VALUES ('%s','%s')" % (a,b))
改好后的全部代码:
import sqlite3
conn = sqlite3.connect('test.db')
conn.execute('CREATE TABLE TEST
NAME TEXT NOT NULL
SEX TEXT NOT NULL')
a = input("输入你的名字: ")
b = input("输入你的性别: ")
conn.execute("INSERT INTO TEST
VALUES ('%s','%s')" % (a,b))
## 因为input储存的是字符串,所以这里应该没问题
conn.commit()
conn.close()