python链接sqlite3插入input显示No such column:xxx

匿名 (未验证) 提交于 2019-12-02 22:54:36

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()

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!