LINUX.ORG.RU

Непредсказуемая выборка из SQLite в Python

 ,


0

1

Здравствуйте! По рекомендациям ЛОРовцев начал изучение SQLite в Python (да и Python тоже только начал изучать). В общем, написал код:

#!/usr/bin/python3

import sqlite3

con = sqlite3.Connection('sqlite.sqlite')
cur = con.cursor()

cur.execute("CREATE TABLE IF NOT EXISTS sqlitetable ( \
    id integer PRIMARY KEY AUTOINCREMENT, \
    col_1 text, \
    col_2 text, \
    col_3 text)")
con.commit()

cur.execute('INSERT INTO sqlitetable VALUES (NULL, "598/25", "Чичиков", "17")')
con.commit()

cur.execute('SELECT * FROM sqlitetable')

row = cur.fetchall()
for rows in row:
    print(row)

cur.close()
con.close()

после запуска в консоли исполняемого файла Три раза подряд, получаю:

[(1, '598/25', 'Чичиков', '17'), (2, '598/25', 'Чичиков', '17'), (3, '598/25', 'Чичиков', '17')]
[(1, '598/25', 'Чичиков', '17'), (2, '598/25', 'Чичиков', '17'), (3, '598/25', 'Чичиков', '17')]
[(1, '598/25', 'Чичиков', '17'), (2, '598/25', 'Чичиков', '17'), (3, '598/25', 'Чичиков', '17')]

хотя ожидаю такой результат:

[(1, '598/25', 'Чичиков', '17'), (2, '598/25', 'Чичиков', '17'), (3, '598/25', 'Чичиков', '17')]

или же такой результат:

[(1, '598/25', 'Чичиков', '17')]
[(2, '598/25', 'Чичиков', '17')]
[(3, '598/25', 'Чичиков', '17')]

Подскажите как достичь ожидаемого результата?

P.S. Еще раз выражаю благодарность Анониму, за то что познакомил меня с консольной версией Sqlite.


Ответ на: комментарий от anonymous

Даня, у тебя всё хорошо?!..

Я тоже думаю, что дело в

for rows in row:
    print(row)

Подскажите почему он неуместен?

Gnom7
() автор топика
Последнее исправление: Gnom7 (всего исправлений: 1)