标签归档:mysql技巧

MySQL数据库中如何清空数据表并设置自增列从1开始自增呢?


摘要:
下文讲述MySQL数据库中清空数据表(同时设置自增列从1开始计数)的方法分享,如下所示;

今天接到同事的一个需求,如何清空数据表,并设置自增列从1开始自增呢?
从同事的问题上,我们可以看出,同事一次提出两个问题:
1.清空数据表
2.设置自增列从1开始自增
那么我们将从解决以上两个问题的目标上去解决这个问题即可,如下所示:

实现思路:  
    1.使用 truncate table 数据表名称
       可清除数据表
     
    2.使用以下命令设置自增列从1开始计数
     alter table tableName AUTO_INCREMENT=1;
   /*
   tableName:数据表名称
   AUTO_INCREMENT:设置自增起始位置从1开始计数
    */  

MySQL数据库如何在不动表数据的情况下调整自增列的id值呢?


摘要:
下文讲述MySQL数据库不清除表数据重置自增列id的方法分享,如下所示;

在数据库中,由于删除了近期的部分数据,导致后面的自增列空出了好多,
那么我们如何将数据表的自增列做相应的调整,
使自增列从指定位置重新开始呢?
下文将讲述其具体的实现方式,如下所示:

实现思路: 
    使用AUTO_INCREMENT即可设置自增列的起始位置
  如: 
    alter table tableName AUTO_INCREMENT=80;
    
   /*
   tableName:数据表名称
   AUTO_INCREMENT:设置自增起始位置从80开始计数
    */  

注意事项:
   此项操作请谨慎使用,因为重置后可能会导致其它数据表关联数据时出错

例:
设置数据表名称“tbOrderMain”表的自增列keyId从100开始计数

  mysql>alter table tbOrderMain AUTO_INCREMENT=100;

MySQL数据库如何获取当前时间所对应的时间戳值呢?


摘要:
下文讲述MySQL数据库中获取当前时间戳的方法分享,如下所示;

 实现思路:  
     使用 unix_timestamp(now()) 函数即可获取  
    当前时间戳

例:
获取当前时间戳的示例分享

 
mysql>select unix_timestamp(now());
+-----------------------+
| unix_timestamp(now()) |
+-----------------------+
|            1602772028 |
+-----------------------+
1 row in set (0.00 sec)