MySQL 非空约束位置不同对自增列造成的影响

2023年 4月 29日 26.7k 0

MySQL版本 select version(); +------------+ | version() | +------------+ | 5.7.21-log | +------------+ 1 row in set (0.00 sec) 非空约束为null 并在自增列属性前 即使自增列的非空约束定义可以为 null,但实际自增列

MySQL版本select version();+------------+| version() |+------------+| 5.7.21-log |+------------+1 row in set (0.00 sec)

非空约束为null 并在自增列属性前

即使自增列的非空约束定义可以为 null,但实际自增列为not null

create table test_auto_incre(id int null auto_increment,id2 int default null ,key idx_id(id));

show create table test_auto_incre;

CREATE TABLE test_auto_incre (id int(11) NOT NULL AUTO_INCREMENT,id2 int(11) DEFAULT NULL,KEY idx_id (id)) ENGINE=InnoDB DEFAULT CHARSET=utf8

insert into test_auto_incre(id2) values(12),(2312);select * from test_auto_incre;+----+------+| id | id2 |+----+------+| 1 | 12 || 2 | 2312 |+----+------+2 rows in set (0.00 sec)

非空约束为null 并在自增列属性后

自增列定义可以为null,实际自增列也可以为null;自增列失去作用!

create table test_auto_incre2(id int auto_increment null,id2 int null,key idx_id(id));Query OK, 0 rows affected (0.02 sec)

非空约束在自增列属性后,不是MySQL的标准建表语句,但建该表没有报错和警告show create table test_auto_incre2;

CREATE TABLE test_auto_incre2 (id int(11) AUTO_INCREMENT,id2 int(11) DEFAULT NULL,KEY idx_id (id)) ENGINE=InnoDB;

插入数据

insert into test_auto_incre2(id2) values(12),(2312);select * from test_auto_incre2;+------+------+| id | id2 |+------+------+| NULL | 12 || NULL | 2312 |+------+------+2 rows in set (0.00 sec)

非空约束为not null 并在自增列属性后

create table test_auto_incre2(id int auto_increment not null,id2 int null,key idx_id(id));

show create table test_auto_incre2;

CREATE TABLE test_auto_incre2 (id int(11) NOT NULL AUTO_INCREMENT,id2 int(11) DEFAULT NULL,KEY idx_id (id)) ENGINE=InnoDB A

插入数据

insert into test_auto_incre2(id2) values(12),(2312);select * from test_auto_incre2;+----+------+| id | id2 |+----+------+| 1 | 12 || 2 | 2312 |+----+------+

MySQL标准建表语法

MySQL 非空约束位置不同对自增列造成的影响

相关文章

Oracle如何使用授予和撤销权限的语法和示例
Awesome Project: 探索 MatrixOrigin 云原生分布式数据库
下载丨66页PDF,云和恩墨技术通讯(2024年7月刊)
社区版oceanbase安装
Oracle 导出CSV工具-sqluldr2
ETL数据集成丨快速将MySQL数据迁移至Doris数据库

发布评论