你在建表时使用not null即可做到限制‘’这种空串的插入了。
‘’和null虽然本质上不一样,但‘’读到数据库时是被当做null处理的。
上午应该是给你回答类似的问题了1、isset只要表单有name,那肯定返回true,应该用empty()来判断。
2、数据库虽然设置不能为空,但是表单提交过来的值,在插入的时候,转换为'',即空字符串了,所以还是会插入,如果是null,就不能插入数据库了
因此只需要把isset那里换成!empty()就可以了
mysql数据库中的unique约束列可以为空。
可做如下测试:
1、创建测试表test:
CREATE TABLE Persons
(Id_P int,
LastName varchar(255) NOT NULL,
UNIQUE (Id_P))2、首次插入一个空值:
insert into Persons values (null,'wang')执行结果截图,显示成功:
3、第二次插入一个空值:
insert into Persons values (null,'zhang')执行结果截图,同样显示成功:
结论:在unique的列是可以多次插入空值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)