核对当前report_cert_day表的主键report_id 的auto_increment为128,并且与report_id的最大值不冲突。
SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="表名";
mysql> show create table report_cert_day\G;
*************************** 1. row ***************************
Table: report_cert_day
Create Table: CREATE TABLE `report_cert_day` (
`report_id` int(9) NOT NULL AUTO_INCREMENT COMMENT '报表ID',
`district_code` int(6) NOT NULL COMMENT '归属省',
`year` int(4) NOT NULL COMMENT '归属年',
`season` int(1) NOT NULL COMMENT '归属季度',
`month` int(2) NOT NULL COMMENT '归属月',
`day` int(2) NOT NULL COMMENT '归属日',
...
`create_date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`lup_date` datetime DEFAULT NULL COMMENT '更新时间',
PRIMARY KEY (`report_id`,`create_date`)
) ENGINE=InnoDB AUTO_INCREMENT=128 DEFAULT CHARSET=utf8 COMMENT='证书日报表'
1 row in set (0.00 sec)
ERROR:
No query specified
mysql> select report_id from report_cert_day order by report_id desc limit 3;
+-----------+
| report_id |
+-----------+
| 127 |
| 126 |
| 125 |
+-----------+
3 rows in set (0.01 sec)
mysql> SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="report_cert_day";
+----------------+
| AUTO_INCREMENT |
+----------------+
| 128 |
+----------------+
1 row in set (0.00 sec)
mysql>
如果出现冲突等情况,通过如下命令进行修改。修改之后查看。
修改表名为tableName的auto_increment值:
ALTER TABLE report_cert_day auto_increment=129;
mysql> ALTER TABLE report_cert_day auto_increment=129;
Query OK, 0 rows affected (0.09 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name="report_cert_day";
+----------------+
| AUTO_INCREMENT |
+----------------+
| 129 |
+----------------+
1 row in set (0.01 sec)
mysql>