Я хочу ограничить значение поля в строке таблицы определенным диапазоном. Можно ли ограничить мое поле отношения_уровня значением от [0,00 до 1,00] ?
В настоящий момент я использую DECIMAL(2,2), это не позволит использовать DECIMAL(1,2), так как M должно быть >= D. Я предполагаю, что тип данных DECIMAL(2,2) действительно позволит значения от 00.00 до 99.99?
CREATE TABLE relationships (
from_user_id MEDIUMINT UNSIGNED NOT NULL,
to_user_id MEDIUMINT UNSIGNED NOT NULL,
relationship_level DECIMAL(2,2) UNSIGNED NOT NULL,
PRIMARY KEY (from_user_id, to_user_id),
FOREIGN KEY (from_user_id) REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE NO ACTION,
FOREIGN KEY (to_user_id) REFERENCES users (user_id) ON DELETE CASCADE ON UPDATE NO ACTION,
INDEX relationship_from_to (to_user_id, from_user_id, relationship_level)
) ENGINE = INNODB;
Есть ли лучший способ сделать это, может ли кто-нибудь предвидеть какие-либо ограничения?
Большое спасибо!