У меня есть поле, в котором хранятся коды продуктов. Коды уникальны, но некоторые продукты просто не имеют кода. Я не могу изобретать коды, потому что это коды провайдеров.
Возможно ли такое ограничение в MySQL?
Я новичок в хранимых процедурах и триггерах, поэтому, если решение включает одну из них, наберитесь терпения.
Обновление: столбец НЕ равен нулю. Вот почему я не смог этого сделать.
mysql
database-design
constraints
Дезинтегратор
источник
источник
Ответы:
Да, ты можешь это сделать. См. Справку по MySQL (версия 5.5) .
источник
Да, если вы сделаете столбец кода продукта допускающим значение NULL (не объявленным с помощью
NOT NULL
), уникальный ключ позволит использовать несколько строк сNULL
кодами продукта.источник
MySQL по-прежнему позволяет нескольким строкам иметь значение
NULL
в уникальном столбце.источник
table
(key
int (11) NOT NULL AUTO_INCREMENT,field
tinyint (1) DEFAULT NULL )