【问题标题】:MySQL INFORMATION_SCHEMA BuggedMySQL INFORMATION_SCHEMA 错误
【发布时间】:2021-01-20 16:03:28
【问题描述】:

基于phpmyadmin中的这篇文章(我是所有者)

我不知道 INFORMATION_SCHEMA 表会发生什么。

https://github.com/phpmyadmin/phpmyadmin/issues/16378#issuecomment-703820551

我已经对该主题进行了更深入的研究,似乎一切都指向 mysql 服务器问题和“INFORMATION_SCHEMA”。

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 utf8mb4 COLLATE utf8mb4_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=utf8mb4 COLLATE=utf8mb4_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);

我使用了 Mysql WorkBench,执行以下查询:

SELECT `AUTO_INCREMENT`
FROM  INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'DB_LIS'
AND   TABLE_NAME   = 'Tbl_Lis_Agencias';

**和输出:无论你运行多少次 auto_increment 的更新到值:5 **

ALTER TABLE Tbl_Lis_Agencias AUTO_INCREMENT =5;

但是当我转到软件选项卡选项中的表格选项时;不是代码:

###这一定是个玩笑……这是怎么回事???

【问题讨论】:

    标签: mysql server


    【解决方案1】:

    MySQL 8.0 尝试缓存有关表的统计信息,但在实现中似乎存在一些错误。有时它将表统计信息显示为 NULL,有时它显示值,但在您修改表数据时无法更新它们。

    例如,参见https://bugs.mysql.com/bug.php?id=83957,这是一个讨论此缓存行为问题的错误。

    您可以禁用缓存。它可能会导致对 INFORMATION_SCHEMA 或 SHOW TABLE STATUS 的查询稍微慢一些,但我想这并不比 MySQL 8.0 之前的版本差。

    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_information_schema_stats_expiry

    【讨论】:

    猜你喜欢
    • 2011-03-27
    • 2017-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-30
    • 2012-02-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多