A common way to deal with unique identities in a database is to use an auto-incremented identity field.
SQLite has an autoincrement feature
PostgreSQL calls it a Serial
MSSQL names the feature Identity, although they also have a synonymous auto-increment feature
MySQL and MariaDB call it an Auto_Increment
Basically, it is an automatically incremented integer value which uniquely identifies the row, without having any other relation to the data in the row.
You use these identity fields as primary keys for efficiently joining tables, and as unique id's for doing updates and deletions.
SELECT
*
FROM
t_parent
LEFT JOIN t_child ON t_child.parentid = t_parent.id
Pitfall - it is not advisable to use these keys as part of a URL - since it allows for fishing for content by variating the id.
If you need to expose the row identity as part of a URL, it is better - although more costly with regards to space - to have a second field in the form of a unique GUID.