我是数据库新手。我正在尝试使用包含单列的表创建一个sqlite数据库。
创建后,我想在for循环中将项目添加到该列。但是,当我这样做时,它只会添加第一项,而没有其他内容。
我在做什么错了?
请参见下面的代码:
encoding/json
正如您在上面看到的,它似乎只包含>>> import sqlite3
>>> con = sqlite3.connect('posts.db')
>>> cur = con.cursor()
>>> cur.execute('CREATE TABLE posts(ID TEXT)')
<sqlite3.Cursor object at 0x7f2b03733650>
>>> con.commit()
>>> for i in 'hello':
... cur.execute('INSERT INTO posts VALUES(?)',(i,))
... con.commit()
... cur.execute('SELECT * FROM posts')
... print(cur.fetchone())
...
<sqlite3.Cursor object at 0x7f2b03733650>
<sqlite3.Cursor object at 0x7f2b03733650>
('h',)
<sqlite3.Cursor object at 0x7f2b03733650>
<sqlite3.Cursor object at 0x7f2b03733650>
('h',)
<sqlite3.Cursor object at 0x7f2b03733650>
<sqlite3.Cursor object at 0x7f2b03733650>
('h',)
<sqlite3.Cursor object at 0x7f2b03733650>
<sqlite3.Cursor object at 0x7f2b03733650>
('h',)
<sqlite3.Cursor object at 0x7f2b03733650>
<sqlite3.Cursor object at 0x7f2b03733650>
('h',)
字符,而不包含h
中的其余字符
答案 0 :(得分:1)
我会在2次迭代中将其分解
for i in 'hello':
cur.execute('INSERT INTO posts VALUES(?)',(i,))
con.commit()
for row in c.execute('SELECT * FROM posts'):
print row