Why my query ‘REPLACE INTO…’ does not work?

The reason is due to this code inside dbDelta() :

// Create a tablename index for an array ($cqueries) of queries.
foreach ( $queries as $qry ) {
    if ( preg_match( '|CREATE TABLE ([^ ]*)|', $qry, $matches ) ) {
        $cqueries[ trim( $matches[1], '`' ) ] = $qry;
        $for_update[ $matches[1] ]            = 'Created table ' . $matches[1];
    } elseif ( preg_match( '|CREATE DATABASE ([^ ]*)|', $qry, $matches ) ) {
        array_unshift( $cqueries, $qry );
    } elseif ( preg_match( '|INSERT INTO ([^ ]*)|', $qry, $matches ) ) {
        $iqueries[] = $qry;
    } elseif ( preg_match( '|UPDATE ([^ ]*)|', $qry, $matches ) ) {
        $iqueries[] = $qry;
    } else {
        // Unrecognized query type.
    }
}

ths function dbDelta() does not support ‘REPLACE INTO’ and that calls in the else with // Unrecognized query type. comment.