为什么在索引语句中不显示索引列的值不为null的行?

时间:2019-05-02 08:00:48

标签: mysql phpmyadmin

所以,我有用PHPMyAdmin创建的这个MySQL表。我实际上是在用PHP(Codeigniter)和MySQL编写一个应用程序,使用户可以查看SQL表,添加值或删除行,添加过滤器,... 问题是,此特定的SQL表具有外键,因此该列已自动建立索引。当我执行“ SELECT *”查询时,我可以在我的网页上获取并打印整个表格。但是,当我尝试仅选择“主键”列时,没有显示索引列中有值的行。例如,如果第一行和第二行在索引列中都有值,则由于“ SELECT id”语句而显示的第一行将是表中的第三行。

我本来以为这是我的代码有问题,但是当尝试相同的SQL查询时,似乎在phpmyadmin中可重现此行为。

SELECT * FROM table;

给予

| id | col1  | col2  | indexed_col |
| 1  | value | value | value       |
| 2  | value | value | value       |
| 3  | value | value | null        |
| 4  | value | value | null        |

,依此类推。但这:

SELECT id FROM table;

给予

| id |  
| 3  | 
| 4  | 

我不太了解这种行为。我可能已经错过了一些东西,但是如果有人能够解释为什么它会那样工作或找到解决方案,我会很高兴的。

更新

我的SQL表可能坏了,不知道为什么,我只是重新创建了一个。问题已解决

0 个答案:

没有答案