title: MySQL table without primary key (best practice)
body: <p>I have a table <code>users</code> which contains several user information. I'd like to store the user specific permissions in a different table.</p>
  
  <p>Do I need to have the primary key <strong>up_id</strong> in the <code>user_permissinos</code> 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.</p>
  
  <pre><code>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'
  </code></pre>