Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SELECT*FROM`table`不会返回phpMyAdmin中的所有列_Mysql_Phpmyadmin - Fatal编程技术网

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

Mysql SELECT*FROM`table`不会返回phpMyAdmin中的所有列,mysql,phpmyadmin,Mysql,Phpmyadmin,执行SELECT*FROM table时,返回的行集不包含表中的所有列。它不包含最近添加的列。不过,phpMyAdmin中的结构选项卡显示了新列。如果我像SELECTNEW\u column\u name FROM table这样直接查询,列值也会出现 如果我通过PHP或phpMyAdmin查询表,这个问题都会出现 有趣的是,如果从表中运行SELECT*、new_column_name,则新的_column_name值会重复 出现这种奇怪行为的原因可能是什么?如何使用*恢复显示所有列的默认行为

执行SELECT*FROM table时,返回的行集不包含表中的所有列。它不包含最近添加的列。不过,phpMyAdmin中的结构选项卡显示了新列。如果我像SELECTNEW\u column\u name FROM table这样直接查询,列值也会出现

如果我通过PHP或phpMyAdmin查询表,这个问题都会出现

有趣的是,如果从表中运行SELECT*、new_column_name,则新的_column_name值会重复

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

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

更新: 存储引擎是InnoDB

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

更新:
在检查了通过命令行运行查询时返回的内容之后,我现在看到问题实际上只存在于phpMyAdmin中,命令行返回新列以及其他列。仔细检查我在PHP中所做的工作表明,我在显式地选择特定的列。因此,现在问题只存在于phpMyAdmin中。它可能有什么问题?

刚才有这个问题


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

可能是mysql缓存?我已刷新了表缓存,但没有任何更改。@davey:我猜,*会查询数据库中包含的列。元数据可能尚未更新。是否添加列并在同一连接对象上执行select*查询?您的存储引擎是什么?如果您尝试在mysql命令行客户端中查询您的表会怎么样?