V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zuicaidenage
V2EX  ›  问与答

mysql not null 失效?

  •  
  •   zuicaidenage · 2019-05-10 13:09:55 +08:00 · 1470 次点击
    这是一个创建于 2020 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我现在有一张表结构如下:

    CREATE TABLE `user` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(255) CHARACTER SET utf8 NOT NULL,
      `address` varchar(255) CHARACTER SET utf8 NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=107393 DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
    

    我设置了address字段not null,单条插入会报值为 null,插入多条则不报错。

    插入单条语句:

    INSERT into user(`name`,`address`) VALUES('xx',null);
    

    结果:

    [SQL]INSERT into user(`name`,`address`) VALUES('xqq',null)
    
    [Err] 1048 - Column 'address' cannot be null
    

    插入多条语句:

    INSERT INTO USER (`name`, `address`)
    VALUES
    	('xqq', NULL),
    	('qqq', NULL)
    

    结果:

    [SQL]INSERT INTO USER (`name`, `address`)
    VALUES
    	('xxx', NULL),
    	('yyy', NULL)
    
    受影响的行: 2
    时间: 0.008s
    
    
    

    看了下表确实成功了,这是为啥呢,求大佬指点迷津。

    1 条回复    2019-05-10 13:52:08 +08:00
    robert233
        1
    robert233  
       2019-05-10 13:52:08 +08:00
    not null,能插入 null? 我建议你再仔细看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3004 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 14:42 · PVG 22:42 · LAX 06:42 · JFK 09:42
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.