«unique-constraint» 태그된 질문

DDL UNIQUE 제약 조건은 열 또는 열 그룹에 포함 된 데이터가 테이블의 모든 행에서 고유하도록합니다. 따라서 관련된 열에 포함 된 데이터는 관련 테이블에서 행을 고유하게 식별하는 데 유용합니다.


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)어떤 상황에서도 분명하게 보이고 싶습니다 . 따라서 다음 두 삽입물에 오류가 …


4
DBMS에서 기본 키와 슈퍼 키의 차이점은 무엇입니까
저는 DBMS를 처음 접했고 여전히 이론을 배우고 있습니다. 나는이 주요 사업과 정말로 혼란스러워하고 인터넷 검색 후 내가 얻지 못하는 2 개의 키 (기본 및 슈퍼 키)로 좁혔습니다. DBMS에 대한 몇 가지 질문이 있습니다. 대답 해 주시면 감사하겠습니다. 1) DBMS에서 기본 키와 슈퍼 키의 차이점은 무엇입니까? 포괄적 인 예를 사용하여 올바르게 …

2
하나의 열에 특정 값이있는 경우에만 적용되는 사용자 지정 고유 열 제약 조건
다음과 같이 사용자 지정 고유 열 제약 조건을 가질 수 있습니까? 나는 두 COLS이 있다고 가정, subset그리고 type, 두 문자열을 (데이터 유형은 아마 중요하지 않습니다하지만). type"true"인 경우 type및 subset고유 한 조합을 원합니다 . 그렇지 않으면 제약이 없습니다. 데비안에서 PostgreSQL 8.4를 사용하고 있습니다.


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 = 2; …

4
인덱스 고유성 오버 헤드
인덱스 비용 및 고유성이 유익한 지 아닌지 (아마도 둘 다)에 대해 사무실의 여러 개발자와 토론을 진행하고 있습니다. 문제의 핵심은 경쟁 리소스입니다. 배경 나는 이전에 언급 한 토론을 읽었습니다. Unique 인덱스가 유지 관리에 추가 비용이 들지 않는다는Insert 작업이 B- 트리에 맞는 위치를 암시 적으로 확인하고 고유하지 않은 인덱스에서 중복이 발견되면 유니티를 …


2
postgres에서 지연 가능한 고유 인덱스
alter table에 대한 postgres 문서를 살펴보면 일반적인 제약 조건이 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 INDEX ux_production_data_serial ON dbo.production_data; GO ALTER TABLE dbo.production_data ALTER …

2
NULL 값으로 PostgreSQL UPSERT 문제
Postgres 9.5의 새로운 UPSERT 기능을 사용하는 데 문제가 있습니다 다른 테이블에서 데이터를 집계하는 데 사용되는 테이블이 있습니다. 복합 키는 20 개의 열로 구성되며 그 중 10 개는 널 입력 가능합니다. 아래에서는 특히 NULL 값을 사용하여 더 작은 버전의 문제를 만들었습니다. CREATE TABLE public.test_upsert ( upsert_id serial, name character varying(32) NOT …

1
N'Șc '는 Latin1_General_CI_AS 데이터 정렬을 사용하여 N'C'의 중복 키로 간주
NVARCHAR(50)열 을 포함하는 고유 키가있는 테이블이 있습니다 (올바르거나 그렇지 않지만 있습니다). 따라서 삽입을 시도 Șc하거나 C( 삽입 순서와 상관없이) 삽입 문제로 인해 두 번째 삽입에서 파손됩니다. 오류는 다음과 같습니다. (1 개의 행 영향을 받음) 메시지 2601, 수준 14, 상태 1, 줄 16 고유 인덱스 'IX_TestT'를 사용하여 'dbo.testT'개체에 중복 키 행을 …

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 = CAST(GetDate() AS DATE) …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.