当我执行SELECT * FROM table
时,返回的行集不包含表中的所有列。它不包含最近添加的列。不过,structure
phpMyAdmin 中的选项卡显示了新列。如果我直接查询 like 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 中。它可能有什么问题?