MySQL で「DESCRIBE テーブル」構文を使用すると、フィールドとそのデフォルト値を含むテーブルに関する情報が返されます。
http://dev.mysql.com/doc/refman/5.0/en/describe.html
しかし、空の文字列のデフォルト値を持つフィールドと、デフォルト値をまったく持たないフィールドの違いをどのように見分けるのでしょうか?
どちらの場合も、DESCRIBE table ステートメントの出力で「デフォルト」列に空の値を返すようです。
古いテーブル形式と新しいテーブル形式の違いを簡単に検出するには、PHP を使用してデータを解析できる必要があります。