如果不让插入空串,应该使用check,例如:
CREATE TABLE table2 (
title varchar(50) NOT NULL,
message varchar(200) NOT NULL DEFAULT \\'内容\\',
msname varchar(50) NOT NULL DEFAULT \\'发布人\\',
date date NOT NULL,
PRIMARY KEY (`title`) ,
CHECK (title!=\\'\\')
)
notnull
虽然看起来他是人为设置的
但是他和业务逻辑或者数据结构有关系
比如你要对这条记录进行读取
而这个是很重要的属性
那么你不仅要让其不为空
还要让他是指定的格式或者数值
还有情况就是
这个字段恰是其他表的主键
那么只有他有值才能正确关联两张表
所以他必须有值
上午应该是给你回答类似的问题了1、isset只要表单有name,那肯定返回true,应该用empty()来判断。
2、数据库虽然设置不能为空,但是表单提交过来的值,在插入的时候,转换为'',即空字符串了,所以还是会插入,如果是null,就不能插入数据库了
因此只需要把isset那里换成!empty()就可以了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)