如何避免sql中的空条目?
这是我的桌子。 如果我像这样插入查询,则插入emp3值(3,,,,,,);它正在存储在表中。如何避免sql中的空条目?,sql,Sql,这是我的桌子。 如果我像这样插入查询,则插入emp3值(3,,,,,,);它正在存储在表中。 但是我应该避免这种情况。我该怎么做呢?您可以根据需要添加约束: CREATE TABLE emp3( id int(3) auto_increment, first_name varchar(30) NOT NULL, last_name varchar(30), email varchar(20) not null unique, PRIMARY KEY (id) )
但是我应该避免这种情况。我该怎么做呢?您可以根据需要添加约束:
CREATE TABLE emp3(
id int(3) auto_increment,
first_name varchar(30) NOT NULL,
last_name varchar(30),
email varchar(20) not null unique,
PRIMARY KEY (id)
)
创建表emp3(
id int(3)自动增量,
first_name varchar(30)不为空,
姓氏varchar(30),
电子邮件varchar(20)非空唯一,
主键(id)
);
更改表emp3
添加约束检查\u名称\u非\u空白检查((第一个\u名称“”),
添加约束检查\u电子邮件\u非\u空白检查((电子邮件“”)
您应该避免列中的空字符串带有如下约束
CREATE TABLE emp3(
id int(3) auto_increment,
first_name varchar(30) NOT NULL,
last_name varchar(30),
email varchar(20) not null unique,
PRIMARY KEY (id)
);
ALTER TABLE emp3
ADD CONSTRAINT check_name_not_blank CHECK ((first_name<>'')),
ADD CONSTRAINT check_email_not_blank CHECK ((email<>''))
用CHECK更改表emp3
添加约束[CK_emp3]检查
(
([名字]”)和
([姓氏]”)和
([电子邮件]“”)
)
只需将它们设置为非空即可
ALTER TABLE emp3 WITH CHECK
ADD CONSTRAINT [CK_emp3] CHECK
(
([first_name]<>'') AND
([last_name]<>'') AND
([email ]<>'')
)
这就是
DBMS
您可以为其添加检查约束,以便在输入无效值时引发异常,或者可以定义触发器来阻止此类插入。我得到的错误如下所示。您的SQL语法中有一个错误;检查与您的MySQL服务器版本对应的手册,以了解要使用的正确语法。检查添加约束[check_name_not_blank]check([first_name]“”)),第1行的CONSTRA没有显示任何错误。但检查约束不起作用
CREATE TABLE emp3(
id int(3) auto_increment,
first_name varchar(30) NOT NULL,
last_name varchar(30),
email varchar(20) not null unique,
PRIMARY KEY (id)
)