我是数据库设计的新手,我很想知道如何为负数和正数之间的列设置范围约束。我最好的猜测是:
CREATE TABLE exampletable (
range TINYINT(1) NOT NULL,
CONSTRAINT const1 CHECK (range >= -1 AND range <= 1)
);
但是,这在MySQL中不起作用。正确的语法是什么?
在MySQL中,检查约束被忽略。您可以使用触发器来取消超出范围的插入/更新语句。
在触发器中使用此命令
IF `range` < -1 or `range > 1 THEN
SIGNAL SQLSTATE '45000'
SET MESSAGE_TEXT = 'Range is out of range';
END IF
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句