Gracias por tu ayuda rolygc, despues de darme varios dolores de cabeza lo logré y este es el código en cuestión:
  Código PHP:
    public function executeActionAuthor($action, $author_id, $article_id) {
    switch ($action) {
        case 'up':
        $this->db->select('*');
        $this->db->where('ID_ARTICULO', $article_id);
        $this->db->where('ID_AUTOR', $author_id);
        $record = $this->db->get('articulos_autores')->row();
 
        $previous_order = $record->ORDEN_AUTORES != 1 ? $record->ORDEN_AUTORES - 1 : $record->ORDEN_AUTORES;
 
        $this->db->select('*');
        $this->db->where('ID_ARTICULO', $article_id);
        $this->db->where('ORDEN_AUTORES', $previous_order);
        $previous_record = $this->db->get('articulos_autores')->row();
 
        $previous_order = $previous_order + 1;
        $actual_order = $record->ORDEN_AUTORES - 1;
 
        if ($previous_record->ID_ARTICULO_AUTOR != $record->ID_ARTICULO_AUTOR) {
            $update_previous = array('ORDEN_AUTORES' => $previous_order);
            $this->db->where('ID_ARTICULO_AUTOR', $previous_record->ID_ARTICULO_AUTOR);
            $this->db->update('articulos_autores', $update_previous);
 
            $update_actual = array('ORDEN_AUTORES' => $actual_order);
            $this->db->where('ID_AUTOR', $author_id);
            $this->db->where('ID_ARTICULO', $article_id);
            $this->db->update('articulos_autores', $update_actual);
        }
        break;
        case 'down':
        $this->db->select('*');
        $this->db->where('ID_ARTICULO', $article_id);
        $this->db->where('ID_AUTOR', $author_id);
        $record = $this->db->get('articulos_autores')->row();
 
        $previous_order = $record->ORDEN_AUTORES + 1;
 
        $this->db->select('*');
        $this->db->where('ID_ARTICULO', $article_id);
        $this->db->where('ORDEN_AUTORES', $previous_order);
        $previous_record = $this->db->get('articulos_autores')->row();
 
        $previous_order = $previous_order - 1;
        $actual_order = $record->ORDEN_AUTORES + 1;
 
        if (!empty($previous_record)) {
            $update_previous = array('ORDEN_AUTORES' => $previous_order);
            $this->db->where('ID_ARTICULO_AUTOR', $previous_record->ID_ARTICULO_AUTOR);
            $this->db->update('articulos_autores', $update_previous);
 
            $update_actual = array('ORDEN_AUTORES' => $actual_order);
            $this->db->where('ID_AUTOR', $author_id);
            $this->db->where('ID_ARTICULO', $article_id);
            $this->db->update('articulos_autores', $update_actual);
        }
        break;
        case 'delete':
        $this->db->where('ID_ARTICULO', $article_id);
        $this->db->where('ID_AUTOR', $author_id);
        $this->db->delete('articulos_autores');
        break;
        default:
        break;
    }
    } 
    
  Saludos y gracias a todos