title: How do I create an empty table with SQL?
body: <p>This isn't much of an issue with MySQL per-se.</p>
  
  <p><strong>The Full Story</strong></p>
  
  <p>I'm writing a very small PHP framework. It isn't like existing frameworks where they force you to use a certain methodology. It isn't either like a CMS framework. Trust me, I've seen Zend framework and I've used CMSes like Joomla and WordPress extensively, <em>none of them come close to what I'm doing.</em></p>
  
  <p><strong>Introducing The Issues</strong></p>
  
  <p>I'm writing the Database abstraction part. You get class methods like ::table_exists() etc.
  It is designed in a way that people can easily add different database classes and use them instead (eg; mysql, mssql, oracle, flatfile...).</p>
  
  <p>They simply need to write a class which satisfies a base abstract classes'.</p>
  
  <p><strong>The Real Issue</strong></p>
  
  <p>I'm writing the functionality for ::table_create(), but have one main problem: MySQL doesn't like empty tables (ie, without a column).</p>
  
  <p>I have several proposed fixes:</p>
  
  <ul>
  <li>For each new table, create a commonly used column, such as 'id' (type=INT)</li>
  <li>For each new table, create a temp column which doesn't use any space as much as possible (perhaps a boolean column?)</li>
  <li>Somehow delay table creation until at least one column can be created</li>
  </ul>
  
  <p>This approach is most certainly new, and I'd like to here some unbiased comments about it (anything on the lines of "but no one does it that way" won't do).</p>