diff --git a/utf8mb4_convert.drush.inc b/utf8mb4_convert.drush.inc
index fc0e9c9..b102dc2 100644
--- a/utf8mb4_convert.drush.inc
+++ b/utf8mb4_convert.drush.inc
@@ -167,11 +167,35 @@ class DrupalCharsetConverter {
       if (!$row->Collation || $row->Collation === $collation || strpos($row->Collation, '_bin') !== FALSE) {
         continue;
       }
-      $sql = "ALTER TABLE {" . $table_name . "} MODIFY " . $row->Field . " " . $row->Type . " CHARACTER SET :charset COLLATE :collation";
-      db_query($sql, array(
+      $default = '';
+      if ($row->Default !== NULL) {
+        $default = 'DEFAULT ' . ($row->Default == "CURRENT_TIMESTAMP" ? "CURRENT_TIMESTAMP" : ":default");
+      }
+      elseif ($row->Null == 'YES' && $row->Key == '') {
+        if ($row->Type == 'timestamp') {
+          $default = 'NULL ';
+        }
+        $default .= 'DEFAULT NULL';
+      }
+
+      $sql = "ALTER TABLE {" . $table_name . "}
+              MODIFY " . $row->Field . " " .
+              $row->Type . " " .
+              "CHARACTER SET :charset COLLATE :collation " .
+              ($row->Null == "YES" ? "" : "NOT NULL ") .
+              $default . " " .
+              $row->Extra . " " .
+              "COMMENT :comment";
+
+      $params = array(
         ':charset' => $charset,
         ':collation' => $collation,
-      ));
+        ':comment' => $row->Comment,
+      );
+      if (strstr($default, ':default')) {
+        $params[':default'] = $row->Default;
+      }
+      db_query($sql, $params);
     }
   }
 }
