Что не так с rowid SQLite?

Всем здравствуйте. Пишу программу на python и при работе с SQLite3 выявил следующее:

Если мы создадим таблицу

with sq.connect('db.db') as con:
    cur = con.cursor()
    cur.execute('''
        create table if not exists users(
            id integer primary key,
            name text,
            score integer
        )''')

И добавим туда например, 4 записи, то если удалить запись которая имеет rowid 3, то в дальнейшем, если я захочу вытащить информацию по rowid 3, ничего не вытащиться, будет None

Проблема в том, что если удалить какую-то строчку в таблице, то выйдет что-то вроде:

| rowid | id | name | score |

| 1 | 1 | Максим | 500 |

| 2 | 2 | Артем | 500 |

| 3 | None | None | None |

| 4 | 4 | Олег | 250 |

А должно выйти

| rowid | id | name | score |

| 1 | 1 | Максим | 500 |

| 2 | 2 | Артем | 500 |

| 3 | 4 | Олег | 250 |

Подскажите пожалуйста, как это решить?


Ответы (0 шт):