mysql建表auto_increment_mysql create table auto_increment
当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值
把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。
如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序 列编号。默认编号从1开始(如果未指定auto_increment开始值,如果指定开始值,则从指定值开始, 比如AUTO_INCREMENT=4),并1为基数递增。
mysql> create table ss(id int unsigned not null primary key auto_increment, user_name varchar(15) not null);
Query OK, 0 rows affected (0.00 sec)
mysql> insert into ss(id,user_name) values(1, 'jojo');
Query OK, 1 row affected (0.00 sec)
mysql> insert into ss(id,user_name) values(37, 'liz');
Query OK, 1 row affected (0.00 sec)
mysql> select id, user_name from ss;
+----+-----------+
| id | user_name |
+----+-----------+
| 1 | jojo |
| 37 | liz |
+----+-----------+
2 rows in set (0.00 sec)
===========================================
mysql> create table uu(id int unsigned not null primary key auto_increment, user_name varchar(15) not null) auto_increment=100;
Query OK, 0 rows affected (0.01 sec)
=================================
mysql> insert into uu(id,user_name) values(1, 'jojo');
Query OK, 1 row affected (0.00 sec)
mysql> insert into uu(id,user_name) values(37, 'liz');
Query OK, 1 row affected (0.00 sec)
mysql> select id, user_name from uu;
+----+-----------+
| id | user_name |
+----+-----------+
| 1 | jojo |
| 37 | liz |
+----+-----------+
2 rows in set (0.00 sec)
mysql> desc uu
-> ;
+-----------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| user_name | varchar(15) | NO | | NULL | |
+-----------+------------------+------+-----+---------+----------------+
2 rows in set (0.00 sec)
mysql>
当插入记录时,没有为AUTO_INCREMENT明确指定值,则等同插入NULL值
把0插入AUTO_INCREMENT数据列的效果与插入NULL值一样。但不建议这样做,还是以插入NULL值为好。
如果把一个NULL插入到一个AUTO_INCREMENT数据列里去,MySQL将自动生成下一个序 列编号。编号从1开始,并1为基数递增。
因为上面指定了auto_increment=100,所以编号从100开始,递增1。
mysql> insert into uu(user_name) values('Nicky');
Query OK, 1 row affected (0.00 sec)
mysql> select id, user_name from uu;
+-----+-----------+
| id | user_name |
+-----+-----------+
| 1 | jojo |
| 37 | liz |
| 100 | Nicky |
+-----+-----------+
3 rows in set (0.00 sec)
mysql> insert into uu(user_name) values('Lucy');
Query OK, 1 row affected (0.00 sec)
mysql> select id, user_name from uu;
+-----+-----------+
| id | user_name |
+-----+-----------+
| 1 | jojo |
| 37 | liz |
| 100 | Nicky |
| 101 | Lucy |
+-----+-----------+
4 rows in set (0.00 sec)
mysql>
mysql建表设置两个默认CURRENT_TIMESTAMP的技巧
create table t (ids int not null auto_increment primary key,
name1 varchar(20),
t1 timestamp default '0000-00-00 00:00:00',
t2 timestamp default now() on update now())
insert into t(name1) values ('tom')
insert into t(name1,t1, t2) values ('jerry', null, null)
注意: 第二次插入数据时,t1 插入null,数据库中实际却变成了now(), 不知道原因,但是如果修改成
t1 timestamp null,
就是null了
mysql建表auto_increment_mysql create table auto_increment相关推荐
- MySQL建表时Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP
问题描述:在利用MySQL语句建立表结构时出现了Error Code : 1293 Incorrect table definition; there can be only one TIMESTAM ...
- mysql 建表 title create table_mysql中create命令建表sql语句
MySQL中create table语句的基本语法是: 代码如下 CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name [(create_definiti ...
- mysql 建表及注释
1.建表+注释 CREATE TABLE student( id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号', name VARCHAR(200) COMM ...
- mysql建表_128、mysql建表和简单sql
EMPLOYEES, 有四个字段,EMPLOYEE_ID:员工表(主键).DEPT_ID:部门号.EMPLOYEE_NAME:员工姓名.EMPLOYEE_SALARY:员工工资. 建表语句 CREAT ...
- mysql 建表语句 stored as_Druid 解析Hive建表语句解析报错
Druid 版本: com.alibaba druid-spring-boot-starter 1.2.3 Hive 建表SQL create table ads_data.sale_detail_o ...
- MySQL建表(create table)命令详解
MySQL建表(create table)命令详解 create table命令 强调:使用建表命令之前必须使用use命令选择表所在的数据库.create table命令的格式如下: create t ...
- MySQL创建数据表(CREATE TABLE语句)
在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...
- mysql创建表参数_MySQL创建数据表(CREATE TABLE语句)
在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...
- mysql创建销售表_MySQL创建数据表(CREATE TABLE语句)
在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...
最新文章
- 清除vs2003-vs2008起始页最近打开项目
- 【Oracle】redo与undo
- 在CentOS 7中使用Sendmail通过PHP发送邮件
- sklearn计算准确率,召回率,精确率,F1函数
- Anscombe's Quartet 问题
- C语言基础编程练习(精选例题+题解)
- Java计算机毕业设计树木交易平台源码+系统+数据库+lw文档
- java word模板生成pdf,java根据模板生成pdf
- 分享:无版权图片素材免费下载网站
- 服务器重装Linux系统详细图文教程(centos7)
- win10 tagWnd部分成员逆向(窗口隐藏,窗口保护)
- 推荐电影 迪士尼经典动画片大全 1937-2008
- HR面试程序员,一般第一个问题会问什么
- 【深度】广告流量分配HWM算法
- python执行命令不连接mumu_Appium连接mumu安卓模拟器(真机)自动化测试
- 实现条码枪的无焦点扫码
- arduino读取水位传感器的数据显示在基于i2c的1602a上_基于PC-CAN适配卡和总线技术实现潜水电机分布式监控系统的应用方案...
- 分享20个无版权的高清无码图库站
- MCM/ICM(美国大学生数学建模竞赛)报名指南
- Java GridBagLayout(网格包布局管理器)