def on_conflict_statement(on_conflict_update=None):
    """
    Generate an appropriate "ON CONFLICT..." statement.

    Parameters:
        on_conflict_update: tuple (condition: str, actions: str, list, dict), optional
            Generate a statement like "ON CONFLICT condition DO UPDATE SET actions"
            actions may be a SQL str, a list of column action str, or a dict of column=value pairs.

    Return:
        str
    """
    if on_conflict_update:
        if isinstance(on_conflict_update, tuple):
            condition, actions = on_conflict_update
            if isinstance(actions, list):
                actions = ",".join(actions)
            elif isinstance(actions, dict):
                actions = ",".join([f"{k} = {v}" for k,v in actions.items()])
            return f"ON CONFLICT {condition} DO UPDATE SET {actions}"

    return "ON CONFLICT DO NOTHING"