Вопросы с тегом «unique-constraint»

Ограничения DDL UNIQUE гарантируют, что данные, содержащиеся в столбце или группе столбцов, являются уникальными среди всех строк в таблице. Поэтому данные, содержащиеся в соответствующем столбце или столбцах, полезны для уникальной идентификации строки в соответствующей таблице.

6
Когда я должен использовать уникальное ограничение вместо уникального индекса?
Когда я хочу, чтобы столбец имел разные значения, я могу использовать ограничение create table t1( id int primary key, code varchar(10) unique NULL ); go или я могу использовать уникальный индекс create table t2( id int primary key, code varchar(10) NULL ); go create unique index I_t2 on t2(code); Столбцы …

3
PostgreSQL уникальное ограничение для нескольких столбцов и значения NULL
У меня есть таблица, подобная следующей: create table my_table ( id int8 not null, id_A int8 not null, id_B int8 not null, id_C int8 null, constraint pk_my_table primary key (id), constraint u_constrainte unique (id_A, id_B, id_C) ); И я хочу (id_A, id_B, id_C)быть отличным в любой ситуации. Поэтому следующие две …

5
Почему ограничение UNIQUE допускает только один NULL?
Технически, NULL = NULL является False, по этой логике никакой NULL не равен ни одному NULL, и все NULL различны. Разве это не означает, что все NULL являются уникальными, а уникальный индекс должен разрешать любое количество NULL?

4
В чем разница между Первичным ключом и Супер ключом в СУБД
Я новичок в СУБД, и я все еще изучаю теорию. Я действительно запутался с этим ключевым бизнесом, и после поиска в Google я сузил его до двух ключей, которые я не получаю (первичный и супер ключ). У меня есть несколько вопросов по СУБД. Буду признателен, если вы сможете мне за …

2
Пользовательское ограничение уникального столбца, применяется только в том случае, если один столбец имеет определенное значение
Можно ли иметь собственное ограничение уникального столбца следующим образом? Предположим, у меня есть два столбца subsetи typeобе строки (хотя типы данных, вероятно, не имеют значения). Если typeэто "правда", то я хочу, чтобы комбинация typeи subsetбыла уникальной. В противном случае, нет никаких ограничений. Я использую PostgreSQL 8.4 на Debian.


4
Почему ключ должен быть явным?
Я очень плохо знаком с предметом баз данных, так что это может показаться невежественным, но мне любопытно, почему ключ должен быть явно указан в таблице. Это прежде всего для того, чтобы сообщить пользователю, что данное значение столбца (будем надеяться) гарантированно будет уникальным в каждой строке? Уникальность все еще должна быть …

2
Избегайте уникальных нарушений в атомарных транзакциях
Возможно ли создать атомарную транзакцию в PostgreSQL? Считайте, что у меня есть категория таблицы с этими строками: id|name --|--------- 1 |'tablets' 2 |'phones' И имя столбца имеет уникальное ограничение. Если я попробую: BEGIN; update "category" set name = 'phones' where id = 1; update "category" set name = 'tablets' where …

4
Индекс уникальности накладных расходов
В моем офисе ведутся постоянные дебаты о стоимости индекса, а также о том, является ли уникальность выгодной или дорогой (вероятно, и то и другое). Суть проблемы - наши конкурирующие ресурсы. Фон Ранее я читал обсуждение, в котором говорилось, что Uniqueиндекс не требует дополнительных затрат на поддержание, поскольку Insertоперация неявно проверяет, …

1
Уникальные обновления индексов и счетчики модификаций строк статистики
Учитывая следующую таблицу, уникальный кластерный индекс и статистику: CREATE TABLE dbo.Banana ( pk integer NOT NULL, c1 char(1) NOT NULL, c2 char(1) NOT NULL ); CREATE UNIQUE CLUSTERED INDEX pk ON dbo.Banana (pk); CREATE STATISTICS c1 ON dbo.Banana (c1); CREATE STATISTICS c2 ON dbo.Banana (c2); INSERT dbo.Banana (pk, c1, c2) …

2
Отсроченный уникальный индекс в postgres
Глядя на документацию postgres для alter table , кажется, что регулярные ограничения могут быть помечены как DEFERRABLE(более конкретно, INITIALLY DEFERREDэто то, что меня интересует). Индексы также могут быть связаны с ограничением, если: Индекс не может иметь ни столбцов выражения, ни частичного индекса Что заставляет меня верить, что в настоящее время …

1
Нужно ли удалять уникальный индекс при изменении размера столбца nvarchar? И будет ли таблица заблокирована при воссоздании индекса?
В нашей базе данных существует большая таблица, которая более или менее выглядит так: CREATE TABLE dbo.production_data ( pd_id BIGINT PRIMARY KEY, serial NVARCHAR(16) NOT NULL UNIQUE, ... ); но теперь размер последовательного поля стал слишком низким, поэтому я хочу изменить его на 32. Средство сравнения схем Visual Studio предлагает сделать …

2
PostgreSQL UPSERT проблема со значениями NULL
У меня проблема с использованием новой функции UPSERT в Postgres 9.5 У меня есть таблица, которая используется для агрегирования данных из другой таблицы. Составной ключ состоит из 20 столбцов, 10 из которых могут быть обнуляемыми. Ниже я создал уменьшенную версию проблемы, в частности, со значениями NULL. CREATE TABLE public.test_upsert ( …

1
N'Șc 'считал дубликат ключа N'C', используя сопоставление Latin1_General_CI_AS
У меня есть таблица с уникальным ключом, который включает NVARCHAR(50)столбец (правильно или нет, но есть). Таким образом, при попытке вставить Șcили C(не имеет значения порядок вставки) он прерывается на 2-й вставке из-за проблем с сопоставлением. Вот ошибка: (Затронуты 1 строка) Сообщение 2601, уровень 14, состояние 1, строка 16 Невозможно вставить …

5
Почему это ОБНОВЛЕНИЕ терпит неудачу с нарушением ограничения уникального ключа?
Я «случайный» администратор баз данных, относительно неопытный и сбитый с толку этой проблемой. Запуск MS SQL Server 2012. Проблема с этим оператором UPDATE: UPDATE dbo.tAccts SET Ticket = 'ARP.ExGE' , Method = 'smtp' , AcctOwner = 'r00417819' , DisplayName = '~AppLight HBSFax-Inactive' , Destination = 'r00417819@mail.ad.ge.com' , UpdatedBy = SYSTEM_USER …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.