我使用以下命令创建自己的数据库:
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
的参数。
答案 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])