[в MySQL]
Есть ли способ ограничить любое поле, чтобы оно не было 0, и если я получил значение 0, преобразуйте его в NULL.
Например, два продукта не могут иметь одинаковый серийный номер, но товар вообще может быть без серийного номера.
Я сейчас использую это: (для нескольких полей)
CREATE TABLE products (
sn DECIMAL(8,2),
UNIQE (sn),
...........
) ENGINE=InnoDB;
CREATE TRIGGER prod_zero1 BEFORE UPDATE ON products FOR EACH ROW
SET NEW.sn=NULLIF(NEW.sn,0);
Есть ли более короткий \ быстрый способ, как это сделать?
Другая проблема состоит в том, что когда я пытаюсь использовать это для нескольких полей в одной таблице, я получаю massege:
CREATE TRIGGER prod_zero2 BEFORE UPDATE ON products FOR EACH ROW
SET NEW.name=NULLIF(NEW.name,"");
ERROR 1235 (42000): This version of MySQL doesn't yet support 'multiple triggers with the same action time and event for one table'
Спасибо