### Apache Airflow version

2.2.0

### Operating System

Debian buster

### Versions of Apache Airflow Providers

_No response_

### Deployment

Astronomer

### Deployment details

astro dev start

### What happened

When I have tried to duplicate a connection first time it has created a connection with hello_copy1 and duplicating the same connection second time giving me an error of 
```Connection hello_copy2 can't be added. Integrity error, probably unique constraint.```




### What you expected to happen

It should create a connection with name hello_copy3 or the error message should be more user friendly.

### How to reproduce

https://github.com/apache/airflow/pull/15574#issuecomment-912438705

### Anything else

Suggested Error 
```
Connection hello_copy2 can't be added because it already exists.
```
or
Change the number logic in _copyN so the new name will be always unique.


### Are you willing to submit PR?

- [ ] Yes I am willing to submit a PR!

### Code of Conduct

- [X] I agree to follow this project's [Code of Conduct](https://github.com/apache/airflow/blob/main/CODE_OF_CONDUCT.md)

airflow/www/views.py
"""Airflow Mode View."""
    list_widget = AirflowModelListWidget
    page_size = PAGE_SIZE
    CustomSQLAInterface = wwwutils.CustomSQLAInterface
class AirflowPrivilegeVerifierModelView(AirflowModelView):
    """
    This ModelView prevents ability to pass primary keys of objects relating to DAGs you shouldn't be able to
    edit. This only holds for the add, update and delete operations.
    You will still need to use the `action_has_dag_edit_access()` for actions.
    """
    @staticmethod
    def validate_dag_edit_access(item: Union[DagRun, TaskInstance]):
        """Validates whether the user has 'can_edit' access for this specific DAG."""
        if not current_app.appbuilder.sm.can_edit_dag(item.dag_id):
            raise AirflowException(f"Access denied for dag_id {item.dag_id}")
    def pre_add(self, item: Union[DagRun, TaskInstance]):
        self.validate_dag_edit_access(item)
    def pre_update(self, item: Union[DagRun, TaskInstance]):
        self.validate_dag_edit_access(item)
    def pre_delete(self, item: Union[DagRun, TaskInstance]):
        self.validate_dag_edit_access(item)
    def post_add_redirect(self):  
        return redirect(self.get_default_url())
    def post_edit_redirect(self):  
        return redirect(self.get_default_url())
    def post_delete_redirect(self):  
        return redirect(self.get_default_url())
def action_has_dag_edit_access(action_func: Callable) -> Callable: