我正在跟踪这些 使用说明,使用phpMyAdmin将auto_increment的值重置为最后一个最高值。
示例:
如果我有这张表和数据:
DROP TABLE IF EXISTS `Tbl_Lis_Agencias`;
CREATE TABLE IF NOT EXISTS `Tbl_Lis_Agencias` (
`IdAgency` int(3) UNSIGNED ZEROFILL NOT NULL AUTO_INCREMENT,
`AgencyCodU` int(3) UNSIGNED ZEROFILL NOT NULL DEFAULT '000',
`AgencyName` varchar(40) CHARACTER SET utf8 COLLATE utf8_unicode_ci DEFAULT NULL,
`Agency_Order` int UNSIGNED DEFAULT NULL,
`AgencyStatus` int UNSIGNED NOT NULL DEFAULT '1',
PRIMARY KEY (`IdAgency`),
UNIQUE KEY `IdAgency` (`IdAgency`),
UNIQUE KEY `Agency_Order` (`Agency_Order`),
UNIQUE KEY `AgencyName` (`AgencyName`),
KEY `xAgencyStatus` (`AgencyStatus`)
) ENGINE=InnoDB AUTO_INCREMENT=12345 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
INSERT INTO `Tbl_Lis_Agencias` VALUES
(001, 001, 'Panama', 1, 1),
(002, 020, 'Aguadulce', 2, 1),
(003, 080, 'David', 3, 1),
(004, 010, 'Vacamonte', 4, 1),
(005, 060, 'Prueba', 5, 1);如果我运行这个:



ALTER TABLE Tbl_Lis_Agencias AUTO_INCREMENT = 5
这个职位中的解决方案并不有用,我必须通过phpMyAdmin,而不是通过终端来完成所有事情。
我检查了phpmyadmin显示的幽灵值;与这个帖子相关:https://github.com/phpmyadmin/phpmyadmin/issues/16378
发布于 2020-10-06 14:38:50
https://stackoverflow.com/questions/64214549/mysql-information-schema-bugged/64214609#64214609
MySQL 8.0试图缓存有关表的统计信息,但是实现中似乎存在一些bug。有时它将表统计信息显示为NULL,有时会显示值,但在修改表数据时无法更新它们。
例如,请参见https://bugs.mysql.com/bug.php?id=83957,它讨论了这种缓存行为的问题。
您可以禁用缓存。它可能会导致对INFORMATION_SCHEMA的查询或显示表状态的速度稍微慢一点,但我想它不会比8.0之前的MySQL版本更糟糕。
SET GLOBAL information_schema_stats_expiry = 0;整数值是MySQL缓存统计信息的秒数。如果查询表的统计数据,您可能会从缓存中看到旧值,直到它们过期为止,MySQL会通过从存储引擎读取数据来刷新它们。
缓存过期的默认值为86400,即24小时。这似乎太过分了。
请参阅https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_信息_模式_统计数据_到期期
https://dba.stackexchange.com/questions/276407
复制相似问题