Create test table:
`CREATE TABLE test (`id` Int32) ENGINE = MySQL('localhost:3306', '', 'test', 'user', 'pass')`

Attempt insert:
`INSERT INTO test VALUES(1)`

CH sending SQL:
`INSERT INTO ``.`test` (`id`) VALUES (1)`

"``." - sending empty database name in generated SQL

However SELECT statement working with empty database name correctrly

P.S.
This can be useful when working with databases such as sphinx
{
        WriteBufferFromOwnString out;
        for (auto it = block.begin(); it != block.end(); ++it)
        {
            if (it != block.begin())
                out << ", ";
            out << backQuoteMySQL(it->name);
        }
        return out.str();
    }
private:
    const StorageMySQL & storage;
    StorageMetadataPtr metadata_snapshot;
    std::string remote_database_name;
    std::string remote_table_name;
    mysqlxx::PoolWithFailover::Entry entry;
    size_t max_batch_rows;
};
BlockOutputStreamPtr StorageMySQL::write(const ASTPtr & , const StorageMetadataPtr & metadata_snapshot, ContextPtr local_context)