Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在Microsoft SQL Server中创建一个列来限制可以添加到该列中的内容?_Sql_Sql Server - Fatal编程技术网

是否可以在Microsoft SQL Server中创建一个列来限制可以添加到该列中的内容?

是否可以在Microsoft SQL Server中创建一个列来限制可以添加到该列中的内容?,sql,sql-server,Sql,Sql Server,例如,我想指定“Email”列必须包含@符号才能有效。是否可以执行此操作?您可以使用检查约束执行此操作: alter table t add constraint chk_t_email check (email like '%@%' and email is not null); 当然,这只是一个例子。电子邮件还有许多其他规则。但是,可以在另一个问题中提出更全面的验证。是的,确实如此。你试过什么吗?只是一句评论:不久前我查看了验证电子邮件:这是一场噩梦。你会遇到各种各样的问题,比如特殊字符、

例如,我想指定“Email”列必须包含@符号才能有效。是否可以执行此操作?

您可以使用
检查
约束执行此操作:

alter table t add constraint chk_t_email check (email like '%@%' and email is not null);

当然,这只是一个例子。电子邮件还有许多其他规则。但是,可以在另一个问题中提出更全面的验证。

是的,确实如此。你试过什么吗?只是一句评论:不久前我查看了验证电子邮件:这是一场噩梦。你会遇到各种各样的问题,比如特殊字符、转义字符、引用值等等。我最终决定,我会确保它们的每一面都有一个带文本的“@”,从那时起,用户就可以独立使用了。