title: SQL Column Names same as names for data types - causing errors
body: <p>I am very new to SQL and having problems with creating a table structure.</p>
  
  <p>I want to create a table with four columns - <code>id</code>,<code>text</code>,<code>date</code> and <code>replace</code>. Problem is this is giving me an error in MySQL, I think because the words <code>TEXT</code> and <code>DATE</code> are also names for data types and <code>REPLACE</code> is another term used in SQL so MySQL is getting confused about what my column names should be or doesn't realise the names I've given are actual names. Is there any way I can get around this to get the column names I want, without having to call the columns something else and then change them back manually once created?</p>
  
  <p>Here's my SQL:</p>
  
  <pre><code>CREATE TABLE message (
      id INT UNIQUE AUTO_INCREMENT NOT NULL,
      text TEXT,
      date INT,
      replace INT DEFAULT 0
  );
  </code></pre>
  
  <p>And the error I'm getting:</p>
  
  <blockquote>
    <p>#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'replace INT DEFAULT 0 )' at line 5</p>
  </blockquote>
  
  <pre><code>CREATE TABLE message(
      id INT UNIQUE AUTO_INCREMENT NOT NULL ,
      TEXT TEXT,
      DATE INT,
      REPLACE INT DEFAULT 0
  );
  </code></pre>