我在清空了数据库表的时候,我需要重新设置table 数据自增的起点。出现下面情况。


由于这个表是基于Mysql 5.6 创建。 现在我们目前在5.7上面操作

因为MySQL 5.6以后timestamp设定默认值规则改变,不能为0000-00-00 00:00:00
解决方法:
查看sql_mode:
mysql> show session variables like '%sql_mode%';

执行上面的命令输出结果
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
1 row in set (0.01 sec)
修改sql_mode,去掉NO_ZERO_IN_DATE
,NO_ZERO_DATE
:
mysql> set sql_mode="ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION";
Query OK, 0 rows affected, 1 warning (0.00 sec)

重新执行,成功:
ALTER TABLE customer_address_entity AUTO_INCREMENT=1;

Query OK, 0 rows affected (0.00 sec)
注意:此方法只在本窗口有效,因为是命令行修改,只针对当前有效。关闭或者重新进入数据库无效。