title: Inserting into table with a Default column value
body: <p>I have created a table with a default column value <code>male</code></p>
  
  <pre><code>CREATE TABLE Persons 
   (name varchar(20), 
    age int, 
    sex varchar(5) default 'male')
  </code></pre>
  
  <p>Insert statement #1:</p>
  
  <pre><code>INSERT INTO Persons values('Bob', 20)
  </code></pre>
  
  <p>Insert statement #2:</p>
  
  <pre><code>INSERT INTO Persons(name,sex) values('Bob', 20)
  </code></pre>
  
  <p>When I try to insert the values into <code>Persons</code> table using the insert statement #1, I get the error shown below</p>
  
  <blockquote>
    <p>column name or number of supplied values does not match table definition</p>
  </blockquote>
  
  <p>But when I insert into <code>Persons</code> using statement #2, it successfully executes. </p>
  
  <p>Can some please explain why this happens?</p>