Rekall defines a column pseudo-type Primary Key. The interpretation of this varies from server database to server database, but in all cases it is mapped to a column which provides a unique key which satisfies the requirements listed above for row insertion. For instance, using MySQL as the server database it will map to a 4-byte integer column which is marked as primary key and auto-increment.
If you are creating a new table from within Rekall, and you have no particular reason to do otherwise, the best course is to use the Primary Key pseudo-column type. Note that this is distinct to the checkboxes in table design view which mark columns that the server database itself calls primary columns.
Note that if you explicitly create a column which matches the Primary Key pseudo-column, then it will appear in the table designer as type Primary Key.