首先,在here之前已经提出了这个问题。
问题是,在使用ALTER TABLE
创建新列后,会创建一个新列,但有时它不会显示在结构选项卡中。发生这种情况时,使用SELECT * FROM <tablename>
不会显示该列,SELECT <columnname> FROM <tablename>
会显示该列。该列上的所有查询都能正常运行。
正确发布了解决此问题的方法并且很简单 - 导出完整的表,删除它然后再次导入。
我的问题是为什么会发生这样的事情?这真是一件令人讨厌的事。在本地工作时不是问题,我总是可以导入/导出/删除,但是我有一段不断删除/创建新列的代码?为什么会发生这种情况,为什么导入/删除/导出会起作用呢?这是phpMyAdmin的错误吗?
PS:我在localhost上使用phpMyAdmin和XAMPP v3.2.1。
答案 0 :(得分:2)
在我看来,您已经碰到了这个已知问题:http://sourceforge.net/p/phpmyadmin/bugs/4187/
更新进入缓存,因此选择*将来自缓存而不是选择“显式列”,它将直接从数据库中提取。我想象出口&gt;掉落&gt;重新导入过程使用drop清除缓存。
看起来已在4.1.2中修复