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