Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.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
Sql 单列中的两个约束_Sql_Sql Server_Ddl - Fatal编程技术网

Sql 单列中的两个约束

Sql 单列中的两个约束,sql,sql-server,ddl,Sql,Sql Server,Ddl,我的表包含一个名为“Email”的列。现在我想如果有人提供电子邮件,SQL检查验证,或者如果有人忘记提供电子邮件,SQL保留默认值“无” 我怎么做呢?我不知道你在用哪个数据库。这将在Postgresql上起作用 创建表时,在电子邮件列上添加如下约束: create table email_test (email text check (email like '%@%.%' or email like 'NONE') default 'NONE'); 如果已经创建了表 alter table

我的表包含一个名为“Email”的列。现在我想如果有人提供电子邮件,SQL检查验证,或者如果有人忘记提供电子邮件,SQL保留默认值“无”


我怎么做呢?

我不知道你在用哪个数据库。这将在Postgresql上起作用

创建表时,在电子邮件列上添加如下约束:

create table email_test 
(email text  check (email like '%@%.%' or email like 'NONE') default 'NONE');
如果已经创建了表

alter table email_test add constraint check_email check (email like '%@%%' or email like 'NONE');

但是,如果有任何行违反了指定的约束,则此更改将失败。

我不确定您正在处理哪个数据库。这将在Postgresql上起作用

创建表时,在电子邮件列上添加如下约束:

create table email_test 
(email text  check (email like '%@%.%' or email like 'NONE') default 'NONE');
如果已经创建了表

alter table email_test add constraint check_email check (email like '%@%%' or email like 'NONE');

但是,如果有任何行违反了指定的约束,则此更改将失败。

我绝对不是数据库专家,但您可以查看计算列您针对的是哪个数据库?我使用的是MSSQL 2016。我绝对不是数据库专家,但您可以查看计算列您针对的是哪个数据库?我使用的是MSSQL 2016。