Ograniczenia DDL UNIQUE zapewniają, że dane zawarte w kolumnie lub grupie kolumn są unikalne we wszystkich wierszach tabeli. Dane zawarte w danej kolumnie lub kolumnach są zatem przydatne do jednoznacznej identyfikacji wiersza w odpowiedniej tabeli.
Gdy chcę, aby kolumna miała odrębne wartości, mogę użyć ograniczenia create table t1( id int primary key, code varchar(10) unique NULL ); go lub mogę użyć unikalnego indeksu create table t2( id int primary key, code varchar(10) NULL ); go create unique index I_t2 on t2(code); Kolumny z unikalnymi ograniczeniami …
Mam tabelę podobną do następującej: 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) ); I chcę (id_A, id_B, id_C)się wyróżniać w każdej sytuacji. Tak więc następujące dwie wstawki …
Technicznie NULL = NULL jest fałszem, zgodnie z tą logiką żaden NULL nie jest równy żadnemu NULL, a wszystkie wartości NULL są różne. Czy nie powinno to oznaczać, że wszystkie wartości NULL są unikalne, a unikalny indeks powinien dopuszczać dowolną liczbę wartości NULL?
Jestem nowy w DBMS i wciąż uczę się teorii. Naprawdę mylę się z tym kluczowym biznesem i po googlowaniu zawęziłem go do zaledwie dwóch kluczy, których nie dostaję (klucz podstawowy i super klucz). Mam kilka pytań na temat DBMS. Byłbym wdzięczny, gdybyś mógł mi odpowiedzieć na nie. 1) Jaka jest …
Czy możliwe jest niestandardowe ograniczenie kolumny w następujący sposób? Załóżmy, że mam dwa cols subseti typeoba ciągi (chociaż typy danych prawdopodobnie nie mają znaczenia). Jeśli typejest „prawdziwe”, to chcę, aby kombinacja typei subsetbyła unikalna. W przeciwnym razie nie ma ograniczeń. Używam PostgreSQL 8.4 na Debianie.
Jestem bardzo nowy w temacie baz danych, więc może to zabrzmieć nieświadomie, ale jestem ciekawy, dlaczego klucz powinien być wyraźnie określony w tabeli. Czy to przede wszystkim po to, aby powiedzieć użytkownikowi, że podana wartość kolumny ma (miejmy nadzieję) niepowtarzalność w każdym wierszu? Ta wyjątkowość powinna nadal istnieć, nawet jeśli …
Czy możliwe jest utworzenie transakcji atomowej w PostgreSQL? Rozważ, że mam kategorię tabeli z tymi wierszami: id|name --|--------- 1 |'tablets' 2 |'phones' A nazwa kolumny ma unikalne ograniczenie. Jeśli spróbuję: BEGIN; update "category" set name = 'phones' where id = 1; update "category" set name = 'tablets' where id = …
Prowadzę ciągłą debatę z różnymi programistami w moim biurze na temat kosztu indeksu i tego, czy unikalność jest korzystna czy kosztowna (prawdopodobnie obie). Sednem problemu są nasze konkurujące zasoby. tło Wcześniej czytałem dyskusję, w której stwierdzono, że Uniqueindeks nie jest dodatkowym kosztem do utrzymania, ponieważ Insertoperacja domyślnie sprawdza, gdzie mieści …
Patrząc na dokumentację postgres dla tabeli zmian , wydaje się, że regularne ograniczenia można oznaczyć jako DEFERRABLE(bardziej konkretnie, INITIALLY DEFERREDco mnie interesuje). Indeksy można również powiązać z ograniczeniem, o ile: Indeks nie może mieć kolumn wyrażeń ani być indeksem częściowym Co prowadzi mnie do wniosku, że obecnie nie ma sposobu …
W naszej bazie danych istnieje duża tabela, która mniej więcej wygląda tak: CREATE TABLE dbo.production_data ( pd_id BIGINT PRIMARY KEY, serial NVARCHAR(16) NOT NULL UNIQUE, ... ); ale teraz rozmiar pola szeregowego stał się zbyt niski, więc chcę go zmienić na 32. Narzędzie porównywania schematów programu Visual Studio sugeruje wykonanie …
Mam problem z użyciem nowej funkcji UPSERT w Postgres 9.5 Mam tabelę, która służy do agregowania danych z innej tabeli. Klucz złożony składa się z 20 kolumn, z których 10 można zerować. Poniżej stworzyłem mniejszą wersję problemu, który mam, szczególnie z wartościami NULL. CREATE TABLE public.test_upsert ( upsert_id serial, name …
Mam tabelę z unikalnym kluczem zawierającym NVARCHAR(50)kolumnę (poprawną lub nie, ale tam jest). Tak więc podczas próby wstawienia Șclub C(bez względu na kolejność wstawiania) łamie się na 2. wkładce z powodu problemów z sortowaniem. Oto błąd: (Dotyczy 1 wierszy) Msg 2601, poziom 14, stan 1, wiersz 16 Nie można wstawić …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.