Есть ли недостатки в том, чтобы все столбцы, кроме столбца первичного ключа в таблице, имели уникальный индекс? - PullRequest
0 голосов
/ 08 января 2020

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

Я пытался использовать оператор select для поиска точной транзакции, но некоторые поля ( из многих) может быть нулевым, что не сулит ничего хорошего, когда у меня есть строковые переменные, у которых все имеют 'field1 = %s' в своих предложениях where, когда мне нужно что-то вроде 'field1 is NULL' вместо того, чтобы получить точный результат.

Моя последняя мысль - использовать уникальный индекс для всех столбцов, кроме одного для первичного ключа таблицы, но я не слишком знаком с использованием уникальных индексов. Должен ли я иметь возможность обновить эти записи по факту? Есть ли риски, которые следует учитывать при реализации этого решения?

Или есть ли другой способ узнать, есть ли у меня неизмененная транзакция или новая, если указаны значения для обновления?

Я использую Python с mysql .connector

...