ON CONFLICT ON CONSTRAINT не выявляет уникальные конфликты в postgresql - PullRequest
0 голосов
/ 24 мая 2018

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

        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 никогда не запускается, даже когда это должно.Что не так с моим кодом здесь?

My unique constraints here:

...