diff --git src/wp-admin/includes/upgrade.php src/wp-admin/includes/upgrade.php
index 1398838..0c11a8a 100644
--- src/wp-admin/includes/upgrade.php
+++ src/wp-admin/includes/upgrade.php
@@ -1897,7 +1897,11 @@ function dbDelta( $queries = '', $execute = true ) {
 			if (array_key_exists(strtolower($tablefield->Field), $cfields)) {
 
 				// Get the field type from the query.
-				preg_match("|".$tablefield->Field." ([^ ]*( unsigned)?)|i", $cfields[strtolower($tablefield->Field)], $matches);
+				$parts = explode( $tablefield->Field, $cfields[ $tablefield->Field ], 2 );
+				$remainder = ltrim( $parts[1], ' `' );
+
+				preg_match( '/([^ ]+( unsigned)?)/i', $remainder, $matches );
+
 				$fieldtype = $matches[1];
 
 				// Is actual field type different from the field type in query?
