In the relational model of databases, a primary key is a designated attribute (column) that can reliably identify and distinguish between each individual record in a table.
More formally, a primary key is a specific choice of a minimal set of attributes that uniquely specify a tuple (row) in a relation (table).
[citation needed] Primary keys can be an integer that is incremented, a universally unique identifier (UUID) or can be generated using Hi/Lo algorithm.
Note that some RDBMS require explicitly marking primary key columns as NOT NULL.
Due diligence should be applied when deciding on the immutability of primary key values during database and application design.
Some database systems even imply that values in primary key columns cannot be changed using the UPDATE SQL statement.