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