0

当我执行SELECT * FROM table时,返回的行集不包含表中的所有列。它不包含最近添加的列。不过,structurephpMyAdmin 中的选项卡显示了新列。如果我直接查询 like SELECT new_column_name FROM table,列值也会出现。

如果我通过 PHP 或 phpMyAdmin 查询表,则会出现此问题。

有趣的是,如果我运行SELECT *, new_column_name FROM tablenew_column_name值会重复。

这种奇怪行为的原因可能是什么,以及如何恢复显示所有列的默认行为*

更新:我已经刷新了表缓存并重新启动了 mysql 服务器,但没有任何变化。

更新:存储引擎是 InnoDB

更新:在添加新列之前,我将列标题拖放到另一个位置以切换列的位置。但是添加列之后,我点击了restore column order,所以它应该没有任何影响......

更新:检查如果我通过命令行运行查询返回的内容后,我现在看到问题实际上只出在 phpMyAdmin 上(命令行返回新列等)。仔细检查我在 PHP 中所做的事情表明我明确选择了特定的列。所以,现在问题只存在于 phpMyAdmin 中。它可能有什么问题?

4

1 回答 1

-1

刚才有这个问题。

通过将存储引擎从 InnoDB 更改为 MyISAM,然后再次改回 InnoDB 来修复它。

于 2018-07-31T06:27:39.077 回答