Кто-нибудь знает, возможно ли реализовать ограничение строк в MySQL?
Допустим, у меня есть очень простая таблица для поддержки промо-кодов для интернет-магазина:
CREATE TABLE `promotioncodes` (
`promotionid` int(11) NOT NULL AUTO_INCREMENT,
`promotioncode` varchar(30) DEFAULT NULL,
`partnerid` int(11) DEFAULT NULL,
`value` double DEFAULT NULL,
`nr_of_usage` int(11) NOT NULL DEFAULT '0',
`valid_from` datetime DEFAULT '0000-00-00 00:00:00',
`valid_through` datetime DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (`promotionid`),
UNIQUE KEY `promotioncode_unique` (`promotioncode`)
)
Есть лиВ любом случае убедитесь, что что при вставке или обновлении строки:
1) Дата 'valid_from' всегда 'меньше' (в терминах дат), чем 'valid_through'.
2) Если поле valid_from оставлено пустым / пустым, значение valid_through также должно быть пустым / пустым.
3) Если значение valid_through оставлено пустым / nullдолжно быть также пустым / нулевым.
Я прочитал кое-что о триггерах и хранимых процедурах, но у меня нет ощущения, что это решение: /?Если они являются решением, то, пожалуйста, дайте мне конкретный пример того, как реализовать это