SELECT * FROM`table`不返回phpMyAdmin中的所有列

时间:2013-10-25 09:06:48

标签: mysql phpmyadmin

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

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

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

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

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

更新: 存储引擎是InnoDB

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

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

1 个答案:

答案 0 :(得分:0)

刚才有这个问题。

通过将存储引擎从InnoDB更改为MyISAM,然后再次回到InnoDB来解决。