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

栏目: 数据库 · 发布时间: 6年前

内容简介:select version();+------------+

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 非空约束位置不同对自增列造成的影响

Linux公社的RSS地址https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址: https://www.linuxidc.com/Linux/2019-04/158338.htm


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

算法分析导论(第2版)(英文版)

算法分析导论(第2版)(英文版)

[美]Robert Sedgewick(罗伯特•塞奇威克)、[美]Philippe Flajolet(菲利普•弗拉若莱) / 电子工业出版社 / 2015-6 / 128.00元

《算法分析导论(第2版)(英文版)》全面介绍了算法的数学分析中所涉及的主要技术。涵盖的内容来自经典的数学课题(包括离散数学、初等实分析、组合数学),以及经典的计算机科学课题(包括算法和数据结构)。《算法分析导论(第2版)(英文版)》的重点是“平均情况”或“概率性”分析,书中也论述了“最差情况”或“复杂性”分析所需的基本数学工具。 《算法分析导论(第2版)(英文版)》第 1 版为行业内的经典著......一起来看看 《算法分析导论(第2版)(英文版)》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具