将值插入到表中时是否有避免将无效数据存入列的方法?将数据插入表时SQL可接受的值范围
前表 - 项目
Itno - pk
Itdesc
salesprice - Acceptable values should > 150 and < 10500
TY
将值插入到表中时是否有避免将无效数据存入列的方法?将数据插入表时SQL可接受的值范围
前表 - 项目
Itno - pk
Itdesc
salesprice - Acceptable values should > 150 and < 10500
TY
以下语法适用到MySQL/SQL服务器/甲骨文/ MS访问。
CREATE TABLE mytable
(
Itno int NOT NULL,
Itdesc varchar(255) NOT NULL,
salesprice int,
CONSTRAINT chk_salesprice CHECK (salesprice >150 AND salesprice < 10500)
)
您还可以使用用户定义的函数与检查约束验证动态值。
@marc_s,谢谢你提示我错字的错误。 –
除了@ Romil的回答,最RDBMS的支持触发可之前或之后提交验证数据。
通常情况下,CHECK
约束是首选,但有时(特别是在数据必须根据可变标准进行评估的情况下),触发器是唯一的方法。
在表中的这个字段上创建一个约束。你正在使用哪个db。 –
不同的数据库都有约束系统,但通常,在您甚至考虑写入数据库之前很久,您应该已经清理了输入,通知了用户错误,进行了计算以产生写入或更改程序状态的值,等等。 所以,如果你只是问你的数据库去做,你做错了。 –
什么是数据库系统,哪个版本? ** SQL **只是*结构化查询语言* - 许多数据库系统使用的语言,而不是数据库产品......像这样的东西通常是特定于供应商的 - 所以我们真的需要知道您的数据库系统是什么,重新使用.... –