Запитання з тегом «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
Унікальне обмеження та значення NULL у багатоколонці PostgreSQL
У мене така таблиця: 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 є хибним, за цією логікою жоден NULL не дорівнює NULL, і всі NULL є різними. Чи не повинно це означати, що всі NULL є унікальними, а унікальний індекс повинен дозволяти будь-яку кількість NULL?

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

2
Користувацьке унікальне обмеження стовпця, застосовується лише у випадку, якщо один стовпець має конкретне значення
Чи можливо мати спеціальне унікальне обмеження стовпця таким чином? Припустимо, у мене є два col, 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 id …

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, …

2
Відмітний унікальний індекс у постгресах
Переглядаючи документацію постгресів для таблиці alter , здається, що регулярні обмеження можуть бути позначені як DEFERRABLE(більш конкретно, INITIALLY DEFERREDщо мене цікавить). Індекси також можуть бути пов'язані з обмеженням, якщо: Індекс не може мати стовпців виразів, а також не бути частковим індексом Що призводить мене до думки, що наразі немає можливості …

1
Під час зміни розміру стовпчика nvarchar мені потрібно скидати унікальний індекс? І чи заблокується таблиця при відтворенні індексу?
У нашій базі даних існує велика таблиця, яка більш-менш виглядає так: CREATE TABLE dbo.production_data ( pd_id BIGINT PRIMARY KEY, serial NVARCHAR(16) NOT NULL UNIQUE, ... ); але тепер розмір послідовного поля став низьким, тому я хочу змінити його на 32. Інструмент порівняння схеми Visual Studio пропонує зробити це шляхом: DROP …

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

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

5
Чому ця ОНОВЛЕННЯ не працює з унікальним порушенням обмеження ключа?
Я "випадкова" DBA, відносно недосвідчена і збентежена цією проблемою. Запуск 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 , UpdatedOn = …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.