Привет, я вставляю кучу данных в пакетный процесс.
Окончательный вывод должен быть такой таблицей.Заметьте, что здесь Name, Address_id
пара УНИКАЛЬНА.Address_id
может быть NULL, но только один раз для данной пары Name, Address_id
Name address_id
——— —————
“Richard” 1
“Richard” 2
“Richard” NULL
“Richard 3
“James” 1
“James” 2
“James” NULL
“James” 3
Однако я не могу гарантировать уникальность пары, когда address_id
равен NULL.Другая пара (“Richard”, NULL)
будет считаться действительной, если я добавлю INDEX UNIQUE (name, address_id)
Затем, если я добавлю следующие индексы (обнаружил, что он гуглит)
CREATE UNIQUE INDEX index_employers_on_name_and_address_id
ON employers(name, address_id)
WHERE address_id IS NOT NULL
CREATE UNIQUE INDEX index_employers_on_name
ON employers(name)
WHERE address_id IS NULL
Все (<NAME>, NULL)
парыне допускается, поскольку уже существует уникальное имя NAME
Некоторые идеи?