ON CONFLICT ON CONSTRAINT не выявляет уникальные конфликты в postgresql

У меня есть эта строка кода

        db.execute("""INSERT INTO warelo.users (email, username, hash, wg_puid) VALUES(%s, %s, %s, %s)
    ON CONFLICT ON CONSTRAINT users_email_username_user_id_key DO NOTHING
    RETURNING (user_id)""",
    (request.form.get("email"), request.form.get("username"), hash, wg_puid))
    result = db.fetchall()

Он должен зарегистрировать пользователя и убедиться, что имя пользователя и адреса электронной почты уникальны, если имя пользователя, адрес электронной почты или user_id уже существуют, чтобы ничего не делать. Сам код выполняется, но я все еще вставляю дубликаты электронных писем и имен пользователей. Кажется, что ON CONFLICT ON CONSTRAINT никогда не запускается, даже когда это должно быть. Что не так с моим кодом здесь?

Мои уникальные ограничения здесь

0 ответов

Другие вопросы по тегам