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

Декларативный механизм, такой как проверка или внешний ключ, который обеспечивает соблюдение некоторого правила целостности данных в базе данных.

195
Когда я должен использовать уникальное ограничение вместо уникального индекса?

Когда я хочу, чтобы столбец имел разные значения, я могу использовать ограничение 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);...

94
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)быть отличным в любой ситуации....

61
Проверьте ограничение только один из трех столбцов не является нулевым

У меня есть (SQL Server) таблица, которая содержит 3 типа результатов: FLOAT, NVARCHAR (30) или DATETIME (3 отдельных столбца). Я хочу убедиться, что для любой данной строки, только один столбец имеет результат, а другие столбцы имеют значение NULL. Что является самым простым проверочным...

43
MySQL: как проверить внешние ключи, связанные с таблицей

Как увидеть внешние ключи, связанные с таблицей в MySql? Фон : я хотел удалить таблицу в MySql, которая имеет ограничение внешнего ключа. Когда я делаю это, я получаю это: Error Code: 1217. Cannot delete or update a parent row: a foreign key constraint fails Как можно скинуть внешние ключи,...

37
PostgreSQL EXCLUDE USING error: тип данных integer не имеет класса оператора по умолчанию

В PostgreSQL 9.2.3 я пытаюсь создать эту упрощенную таблицу: CREATE TABLE test ( user_id INTEGER, startend TSTZRANGE, EXCLUDE USING gist (user_id WITH =, startend WITH &&) ); Но я получаю эту ошибку: ERROR: data type integer has no default operator class for access method "gist" HINT: You...

36
Почему ограничение UNIQUE допускает только один NULL?

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

33
Копировать полную структуру таблицы

Используя некоторые методы, при создании копии таблицы вы теряете индексы, PK, FK и т. Д. Например, в SQL Server я могу сказать: select * into dbo.table2 from dbo.table1; Это просто простая копия таблицы; все индексы / ограничения отсутствуют. Как я могу скопировать структуру таблицы (без...

31
Как реализовать флаг «по умолчанию», который может быть установлен только в одной строке

Например, с таблицей, подобной этой: create table foo(bar int identity, chk char(1) check (chk in('Y', 'N'))); Не имеет значения, реализован ли флаг как a char(1), a bitили как угодно. Я просто хочу иметь возможность применять ограничение, которое может быть установлено только в одной...

30
Как мне удалить все ограничения из всех таблиц?

Я хочу удалить все ограничения по умолчанию, проверить ограничения, уникальные ограничения, первичные ключи и внешние ключи из всех таблиц в базе данных SQL Server. Я знаю, как получить все имена ограничений sys.objects, но как мне заполнить ALTER...

28
Как принудительно выполнить однократную запись и затем таблицу только для чтения в SQL?

Это вообще возможно? Мой пример использования - таблица бухгалтерской книги, с требованием, чтобы после создания записи она была доступна только для чтения, то есть никто не мог ее редактировать или удалять. Это относится только к таблице бухгалтерской книги и таблицам, имеющим к ней прямое...

25
Что означает «ibfk» в MySQL?

Если я создаю ограничение внешнего ключа для таблицы 'photos' в phpmyadmin, я позже вижу, что ограничение называется 'photos_ibfk_1', а следующее ограничение называется 'photos_ibfk_2' и т. Д. Из этого я понял, что [tablename] _ibfk_constraintIndex соглашение для ограничений БД в MySQL. Это верно?...

24
Ограничение для применения «хотя бы одного» или «ровно одного» в базе данных

Скажем, у нас есть пользователи, и каждый пользователь может иметь несколько адресов электронной почты CREATE TABLE emails ( user_id integer, email_address text, is_active boolean ) Несколько примеров строк user_id | email_address | is_active 1 | foo@bar.com | t 1 | baz@bar.com | f 1 | bar@foo.com...

23
проверка ограничений не работает?

У меня есть следующая таблица. create table test ( id smallint unsigned AUTO_INCREMENT, age tinyint not null, primary key(id), check (age<20) ); Проблема в том, что CHECKограничение не работает в столбце возраста. Например, когда я вставляю 222 для поля возраста, MySQL принимает...

20
В чем разница между Первичным ключом и Супер ключом в СУБД

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

20
Почему Postgres генерирует уже использованное значение PK?

Я использую Django, и время от времени я получаю эту ошибку: IntegrityError: двойное значение ключа нарушает уникальное ограничение "myapp_mymodel_pkey". ПОДРОБНЕЕ : Key (id) = (1) уже существует. Моя база данных Postgres на самом деле имеет объект myapp_mymodel с первичным ключом 1. Почему...

19
Пользовательское ограничение уникального столбца, применяется только в том случае, если один столбец имеет определенное значение

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

19
Проблема отношения сущностей

У меня есть 4 таблицы, связанные следующим образом (это пример): Company: ID Name CNPJ Department: ID Name Code ID_Company Classification: ID Name Code ID_Company Workers: Id Name Code ID_Classification ID_Department Предположим, что у меня есть classificationс id = 20, id_company = 1. И,...

18
Что такое ограничение CHECK CHECK?

У меня есть автоматически сгенерированный T-SQL, который, вероятно, действителен, но я не совсем понимаю ALTER TABLE [dbo].[MyTable] WITH CHECK CHECK CONSTRAINT [My_FORIEGN_KEY]; Я знаю, что такое ограничение внешнего ключа, но что это CHECK...