MySQL的InnoDB表、自增字段(AUTO_INCREMENT)处理

本文介绍了MySQL InnoDB表中自增字段(AUTO_INCREMENT)的处理,包括创建表、移动表和更改存储引擎。详细讨论了innodb_autoinc_lock_mode的三种模式:0(传统)、1(连续)和2(交错),以及它们对并发插入和值分配的影响。还提到了使用AUTO_INCREMENT的注意事项,如需要建立索引,并演示了如何重置自增起始值和调整自增步长。
摘要由CSDN通过智能技术生成

1、创建InnoDB表

mysql> SELECT @@default_storage_engine;		//查看默认存储引擎
+--------------------------+
| @@default_storage_engine |
+--------------------------+
| InnoDB                   |
+--------------------------+

mysql> CREATE TABLE t1(a INT,
    -> b CHAR(20))
    -> ENGINE=InnoDB;		//指定存储引擎,不指定为默认
Query OK, 0 rows affected (0.06 sec)

mysql> show table status from test where name='t1'\G;		//查看表的属性
*************************** 1. row ***************************
           Name: t1
         Engine: InnoDB
        Version: 10
     Row_format: Dynamic
           Rows: 0
 Avg_row_length: 0
    Data_length: 16384
Max_data_length: 0
   Index_length: 0
      Data_free: 0
 Auto_increment: NULL
    Create_time: 2019-08-05 17:41:29
    Update_time: NULL
     Check_time: NULL
      Collation: utf8_general_ci
       Checksum: NULL
 Create_options:
        Comment:
1 row in set (0.00 sec)

2、移动InnoDB表格

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student        |
| t1             |
+----------------+
2 rows in set (0.00 sec)
mysql> rename table test.student to test2.s;		//将表从一个数据库test移动到另一个数据库test2
Query OK, 0 rows affected (0.04 sec)
mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| t1             |
+----------------+

mysql> use test2;
Database changed
mysql> show tables;
+-----------------+
| Tables_in_test2 |
+-----------------+
| s               |
+-----------------+

3、更改表的存储引擎

mysql> show table status from test where name='t2'\G;
*************************** 1. row ***************************
           Name: t2
         Engine: MyISAM
         
mysql> alter table t2 engine=InnoDB;		//更改t2的存储引擎为InnoDB
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show table status from test where name='t2'\G;
*************************** 1. row ***************************
           Name: t2
         Engine: InnoDB

4、InnoDB中AUTO_INCREMENT的处理
首先我们可以对Insert做一下简单的分类:

  • 简单插入
    可以预先确定要插入的行数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值