Ответ 1
Создайте уникальный ключ в этих столбцах
ALTER TABLE YourTable
add CONSTRAINT YourTable_unique UNIQUE (B, C, D);
У меня есть таблица с 4 столбцами
Каждая колонка будет A, B, C, D
Столбец А является основным ключом. Столбец B имеет уникальное ограничение имен.
Теперь я хочу удалить уникальное ограничение для столбца B и дать уникальное ограничение, объединив столбцы B, C и D. Таким образом, таблица позволит только одну строку с определенным значением в столбцах B, C и D.
Как я могу дать этот тип ограничения?
Я попытался дать составной уникальный ключ, например:
ALTER TABLE TABLENAME ADD CONSTRAINT CONSTRAINT_NAME UNIQUE (COLUMN_B, COLUMN_C, COLUMN_D)
Но он проверяет, присутствует ли какое-либо ограничение, а не проверяется комбинация уникального ограничения ключа.
Создайте уникальный ключ в этих столбцах
ALTER TABLE YourTable
add CONSTRAINT YourTable_unique UNIQUE (B, C, D);
Прежде всего, вы должны отказаться от существующего ограничения, используя ниже ALTER Query.
ALTER TABLE table_name
DROP CONSTRAINT myUniqueConstraint;
Теперь вы можете создать UNIQUE Constraint, используя ключевое слово UNIQUE с комбинацией требуемых столбцов.
Например:
ALTER TABLE table_name
ADD CONSTRAINT myUniqueConstraint UNIQUE(B, C, D);
ALTER TABLE имя_таблицы DROP CONSTRAINT имя_контакта;
CREATE UNIQUE INDEX constraint_name ON table_name (B, C, D)