不知道你为啥要这么问,没有数据当然可以这么设置了,如果有数据且设置列为空时,你设置非常,会提示设置不了,但没有数据的情况下,肯定是可以这么设置的。
创新互联主要从事网站建设、网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务岭东,10多年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
你这样设置之后,是不能插入的空(NULL),而是能插入空串(\\'\\')。
如果不让插入空串,应该使用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!=\\'\\')
) ;
修改mysql配置文件my.cnf:
在[mysqld]中添加
重启mysql服务,用空密码直接登录,查询用户表,有结果则按如下步骤修改,结果为空直接最后的解决办法
修改对应用户的密码
取消或注释掉my.cnf配置文件添加的选项 skip-grant-tables ,重启mysql服务,搞定收工。
编辑my.cnf配置文件,添加或修改下面两项(我这没有sql_mode项):
插入root用户数据
再次查询mysql.user表,会报错
需要修复mysql.user表
修改root用户的权限:
上午应该是给你回答类似的问题了
1、isset只要表单有name,那肯定返回true,应该用empty()来判断。
2、数据库虽然设置不能为空,但是表单提交过来的值,在插入的时候,转换为'',即空字符串了,所以还是会插入,如果是null,就不能插入数据库了
因此只需要把isset那里换成!empty()就可以了