def METHOD_NAME(
    sql: str,
    statement_name: str,
    workgroup: Optional[str] = None,
    mode: Literal["update", "error"] = "update",
    boto3_session: Optional[boto3.Session] = None,
) -> None:
    """
    Create a SQL statement with the name statement_name to be run at a later time. The statement can include parameters represented by question marks.
    https://docs.aws.amazon.com/athena/latest/ug/sql-prepare.html
    Parameters
    ----------
    sql : str
        The query string for the prepared statement.
    statement_name : str
        The name of the prepared statement.
    workgroup : str, optional
        The name of the workgroup to which the prepared statement belongs.
    mode: str
        Determines the behaviour if the prepared statement already exists:
        - ``update`` - updates statement if already exists
        - ``error`` - throws an error if table exists
    boto3_session : boto3.Session(), optional
        Boto3 Session. The default boto3 session will be used if boto3_session receive None.
    Examples
    --------
    >>> import awswrangler as wr
    >>> wr.athena.create_prepared_statement(
    ...     sql="SELECT * FROM my_table WHERE name = ?",
    ...     statement_name="statement",
    ... )
    """
    if mode not in ["update", "error"]:
        raise exceptions.InvalidArgumentValue("`mode` must be one of 'update' or 'error'.")
    athena_client = _utils.client("athena", session=boto3_session)
    workgroup = workgroup if workgroup else "primary"
    already_exists = _does_statement_exist(statement_name, workgroup, athena_client)
    if already_exists and mode == "error":
        raise exceptions.AlreadyExists(f"Prepared statement {statement_name} already exists.")
    if already_exists:
        _logger.info(f"Updating prepared statement {statement_name}")
        athena_client.update_prepared_statement(
            StatementName=statement_name,
            WorkGroup=workgroup,
            QueryStatement=sql,
        )
    else:
        _logger.info(f"Creating prepared statement {statement_name}")
        athena_client.METHOD_NAME(
            StatementName=statement_name,
            WorkGroup=workgroup,
            QueryStatement=sql,
        )