Хочу ограничить значение поля MySQL определенным диапазоном (десятичные значения)

Я хочу ограничить значение поля в строке таблицы определенным диапазоном. Можно ли ограничить мое поле отношения_уровня значением от [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;

Есть ли лучший способ сделать это, может ли кто-нибудь предвидеть какие-либо ограничения?

Большое спасибо!

6
задан TooTone 26 April 2016 в 09:31
поделиться