MySQL table without primary key (best practice)

Viewed 9214

I have a table users which contains several user information. I'd like to store the user specific permissions in a different table.

Do I need to have the primary key up_id in the user_permissinos table, even if it will not be used anywhere? I know it is always recommended to have a primary key in a table, but in this case it makes no sense for me. If I need to join both tables I will join up_of_user on user_id.

Table `user`
==========================
user_id int(11) PK AI NN
user_name varchar(50)
...


Table `user_permissions`
=======================================
up_id int(11) PK AI NN
up_of_user int(11) FK of user.user_id
up_edit_post tinyint(4) DEFAULT '0'
2 Answers
Related