this defining PK on different columns seems quite an interesting way, but here 2 questions arise:
1- are these generated PKs integer?
Reply : This does not matter, but the only restriction is that the column that you are defining a PK for should not be NULL.
2- can I apply this feature in other databases? cause I use MySQL and I haven't yet encountered such a feature in it.
Reply : As far as I know this is definitely supported by Oracle and SQL Server, I'm not too sure about MySQL.