如何避免sql中的空条目?

时间:2017-06-14 11:31:38

标签: sql

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值(3,'','''');它存储在表中。 但我应该避免这种情况。我怎么能这样做?

3 个答案:

答案 0 :(得分:1)

您可以根据需要添加约束:

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<>''))

答案 1 :(得分:0)

你应该使用像

这样的约束来避免列中的空字符串
ALTER TABLE emp3 WITH CHECK 
ADD  CONSTRAINT [CK_emp3] CHECK  
      (
         ([first_name]<>'') AND
         ([last_name]<>'')  AND
         ([email ]<>'')  
      )

答案 2 :(得分:-1)

你可以通过将它们设置为Not Null

来实现
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)
)