Если вы не хотите, чтобы дубликаты guild_id
были в вашей таблице, то вам нужно, чтобы база данных обеспечивала уникальность с уникальным ограничением или индексом (они в значительной степени эквивалентны).
Итак, начните с:
CREATE UNIQUE INDEX unq_server_preference_guild_id ON server_preference(guild_id);
Затем, если вы запустите:
INSERT INTO server_preference (guild_id) VALUES (:guild_id);
Вы получите ошибку. Если вы хотите избежать ошибки, используйте предложение ON CONFLICT
:
INSERT INTO server_preference (guild_id)
VALUES (:guild_id)
ON CONFLICT (guild_id) DO NOTHING;