小编Kev*_*n M的帖子

用 NOT NULL 定义的 MySQL 列允许空值

不久前我创建了一个表并开始向其中添加数据。最近我添加了一个新列 ( address)NOT NULL作为新列的一部分。旧行(添加前)仍然为空,这在定义中创建了警告。但是,仍然允许带有新列的新行插入空值。

新列的添加前空值是否是允许的来源?如果是这样,有没有办法告诉 MySQL 不允许它,即使它以前是这样?

mysql> show create table my_table\G
*************************** 1. row ***************************
       Table: my_table
Create Table: CREATE TABLE `my_table` (
  `entry_id` int(11) NOT NULL auto_increment,
  `address` varchar(512) NOT NULL,
  `follow_up_to` int(11) default NULL,
  PRIMARY KEY  (`entry_id`),
  KEY `follow_up_to` (`follow_up_to`),
  CONSTRAINT `my_table_ibfk_1` 
     FOREIGN KEY (`follow_up_to`) 
     REFERENCES `my_table` (`entry_id`) ON UPDATE CASCADE
) ENGINE=InnoDB AUTO_INCREMENT=535 DEFAULT CHARSET=latin1
1 row in set (0.00 sec)

mysql>
Run Code Online (Sandbox Code Playgroud)

mysql null

8
推荐指数
1
解决办法
2万
查看次数

标签 统计

mysql ×1

null ×1