Creating a different side bar for single posts than for main page.

I would consider the following …

Register a new sidebar:

function your_new_widget() {
register_sidebar( array(
    'name'          => __( 'Single View Sidebar', 'your_textdomain' ),
    'id'            => 'sidebar-single',
    'description'   => __( 'This widget area is found only on the single post view.', 'your_textdomain' ),
) );
}
add_action( 'widgets_init', 'your_new_widget' );

Create a new sidebar template:

/** New file: sidebar-single.php */
if ( is_active_sidebar( 'sidebar-single' ) ) :
    dynamic_sidebar( 'sidebar-single' );
endif;

Then modify your ‘single.php’ template to call the new sidebar (above):

/** Modify single.php */
get_sidebar( 'single' );

Of course you will need to flesh out the new single view sidebar template file … and the WordPress Template Hierarchy will take care of using your new sidebar on single post views.