title: database design: what fields are must for a user table in database?
body: <p>I am trying to design a user table for MySQL.</p>
  
  <p>for now, my user table looks like this</p>
  
  <pre><code>users (
  BIGINT id,
  VARCHAR(?) username,
  VARCHAR(?) password,
  VARCHAR(254) email,
  DATETIME last_login,
  DATETIME data_created
  )
  </code></pre>
  
  <p>what other fields should I also include and why do I need them?</p>
  
  <p>what fields should I exclude from above and why?</p>
  
  <p>how many characters should I allocate for username and password, and why?</p>
  
  <p>should I use BIGINT for id?</p>
  
  <p>Thank you in advance for your helps.</p>
  
  <p>ADDED
  I am going to use the table for social web site, so 'users' mean people around the world.</p>