title: Is ID column required in SQL?
body: <p>Traditionally I have always used an ID column in SQL (mostly mysql and postgresql).</p>
  
  <p>However I am wondering if it is really necessary if the rest of the columns in each row make in unique. In my latest project I have the "ID" column set as my primary key, however I never call it or use it in any way, as the data in the row makes it unique and is much more useful for me.</p>
  
  <p>So, if every row in a SQL table is unique, does it need a primary key ID table, and are there ant performance changes with or without one?</p>
  
  <p>Thanks!</p>
  
  <p>EDIT/Additional info:
  The specific example that made me ask this question is a table I am using for a many-to-many-to-many-to-many table (if we still call it that at that point) it has 4 columns (plus ID) each of which represents an ID of an external table, and each row will always be numeric and unique. only one of the columns is allowed to be null.</p>
  
  <p>I understand that for normal tables an ID primary key column is a VERY good thing to have. But I get the feeling on this particular table it just wastes space and slows down adding new rows.</p>