Я попытался сделать это в phpmyadmin sql: ALTER TABLE 'table' ADD UNIQUE ('field1', 'field2');
, но он не сказал, что было дублирующее значение для поля1, что верно. То, что я хочу, является ограничением, которое не позволяет парам field1 и field2 сосуществовать в одной строке. Поле1 может иметь несколько экземпляров, оно имеет поле field2, но не одновременно. Как я могу это достичь?Уникальное ограничение на PAIR значений, myqs
EDIT:
Видимо проблема связана со значениями NULL в таблице ... кто-нибудь знает, как я могу избежать этого, сохраняя нулевые значения?
Можете ли вы разместить DDL, используемый для создания таблицы? – llanato
уникальными ограничениями являются условия 0/1. «следующие индексированные поля могут существовать вместе в записи AT MOST один раз». Вам нужно 0, что не может быть сделано с индексом. обычно это делается с ограничением, но mysql не поддерживает их. Вам нужно добавить кучу триггеров в вашу таблицу, чтобы поймать вставку/обновление и запретить сопоставляемые пары попасть в таблицу в первую очередь. –
@MarcB: nitpicking: MySQL * does * поддерживает «ограничения» (внешний ключ, первичный ключ), но не ** проверяет ** ограничения. –