create table user(
        id int not null auto_increment,
        name varchar(30) not null,
        primary key (id)
    );
   insert into user() values();name 没有设值居然也插入成功,不明白。
   怎么使not null起到约束作用?

解决方案 »

  1.   

    MYSQL中的NOT NULL 约束只有字段为键的时候才会起作用。
    所有要想让你的NOT NUL 起作用的话
    alter table user key (`name`);
      

  2.   

    如果都需要加key,那mysql还要not null有什么作用了?奇怪,我也遇见了同样的问题
      

  3.   

    检查name中的内容
    是否是空字符串select *,
    ifnull(dd,1),
    if(isnull(dd),1,2)
     from tn1
    看看结果,不是NULL,
    是空字符串
      

  4.   

    我对我以前说的话纠正一下!在MySQL中,高版本的会自己解析默认值的,比如INT默认为0,CHAR默认为空
    只要你用NOT NULL。