sqlite3不会在我的表

时间:2015-11-01 10:24:49

标签: python database sqlite

我使用以下命令创建自己的数据库:

sqlite3 mydb.db

我使用了以下命令来制作我的桌子:

CREATE TABLE mytable (hostName CHAR(50) PRIMARY KEY, content TEXT);

这是我脚本的一部分:

hostName='mywebsite.com'
cur=con.cursor()
cur.execute('SELECT hostName FROM mytable WHERE hostName="'+hostName+'"')
data=cur.fetchall()
cont=session.get('http://'+hostName).content
cur.execute('INSERT INTO mytable (hostName,content) VALUES (\''+hostName+'\',\''+str(cont)+'\')')

但是当我获得网站内容时,当内容不短时,它不会写入表格。

可能有一个大于TEXT的参数。

1 个答案:

答案 0 :(得分:2)

从不将列的内容直接格式化为SQL语句。改为使用占位符:

cur.execute("SELECT hostName FROM mytable WHERE hostName=?", [hostName])
data = cur.fetchall()
cont = session.get('http://%s' % hostName).content
cur.execute("INSERT INTO mytable (hostName,content) VALUES (?,?)", [hostName, cont])