I wanted to have a bash at writing something educational, so here's a blog post on rowids and primary keys in SQLite:
https://menial.co.uk/blog/2025/10/20/rowids-and-primary-keys/

#sqlite

Rowids and Primary Keys

SQLite has the concept of a rowid. A special column with a unique integer identifier for each row. It’s present in most tables, but generally hidden from view. This post gives an overview of how rowids work and their relationship with primary keys.

Menial

@__bb

> I have no idea why anyone would choose do this, but it turns out you can!

Made me smile. So many things in SQLite are like that.

I think that's not a bad thing. I like software that is flexible and open-ended. It allows use cases not anticipated by the authors. I think users either notice this and learn to be careful with it, or they decide it’s not for them and try a different product. That’s not a bad thing either; no tool is right for everyone.

@dmd Thank you. It gives quite a freeing feeling, that you can use it as you prefer even if that’s not necessarily the “optimal” choice.
@__bb Synthetic, concrete, and pleasant to read. Great article!
(and I don’t even use SQLite)