【发布时间】:2013-04-02 07:01:36
【问题描述】:
我可以在 MySQL 数字列 (InnoDB) 上定义一个约束,只允许特定范围内的值吗?
例如此表中的列wavelength:
CREATE TABLE spectrumdata
(
valueid INT AUTO_INCREMENT,
spectrumset INT NOT NULL,
wavelength DOUBLE NULL,
intensity DOUBLE NULL,
error INT NOT NULL,
status INT NOT NULL,
PRIMARY KEY (valueid),
INDEX spectrumset_idx (spectrumset),
CONSTRAINT spectrumset_fk FOREIGN KEY (spectrumset)
REFERENCES spectrumsets (setid)
)
COLLATE=utf8_general_ci
ENGINE=InnoDB
ROW_FORMAT=DEFAULT
AUTO_INCREMENT=1;
【问题讨论】:
-
您在使用 InnoDB 先生吗?
-
由于 MySQL 是极少数不支持检查约束的 DBMS 之一,您唯一的机会就是使用触发器。
-
@BlackHatShadow 是的,忘了说,对不起
-
没关系。试试我的回答。我不知道你桌子的全部规格,但这可能会有所帮助。
标签: mysql