Как убедиться, что я не добавляю повторяющиеся строки в свою базу данных? - PullRequest
1 голос
/ 09 июля 2020

В настоящее время я загружаю данные из API в свою PostgreSQL базу данных через SQLalchemy.

Я запускаю свой скрипт каждую ночь и добавляю новые данные в соответствующие таблицы в базе данных.

Теперь, как мне убедиться, что я не добавляю повторяющиеся строки в свою базу данных?

В настоящее время я использую pandas и метод pd.to_ sql () для создания таблиц и добавьте новые данные, используя ключевое слово if_exists = «append» в методе pd.to_ sql ().

1 Ответ

1 голос
/ 09 июля 2020

Вы можете использовать уникальное ограничение в своей таблице, как показано ниже. «Уникальное» ограничение - это очень мощное ограничение на уровне таблицы, которое вы можете применить к своей таблице по отношению к выбранному столбцу таблицы, что может значительно помочь предотвратить дублирование в ваших данных. .

При создании новой таблицы

USE TestDB;
GO
CREATE TABLE Users
 (
   UserID int NOT NULL  IDENTITY(1,1), 
   Name varchar(100) NOT NULL,
   Surname varchar(100) NOT NULL,
   EmailAddress varchar(100) NOT NULL,
   CONSTRAINT AK_UnqueEmail UNIQUE(EmailAddress) 
); 
GO

Для существующей таблицы

USE TestDB; 
GO
ALTER TABLE Users 
ADD CONSTRAINT AK_UniqueEmail UNIQUE (EmailAddress); 
GO
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...