Почему строки, в которых значение индексированного столбца не равно нулю, не отображаются в операторе выбора? - PullRequest
2 голосов
/ 02 мая 2019

Итак, у меня есть таблица MySQL, которую я создал с помощью PHPMyAdmin.На самом деле я пишу приложение с PHP (Codeigniter) и MySQL, которое позволяет пользователю просматривать таблицы SQL, добавлять значения или удалять строки, добавлять фильтры, ... Проблема в том, что эта конкретная таблица SQL имеет внешний ключ, и поэтому столбецбыл автоматически проиндексирован.Когда я делаю запрос «SELECT *», я могу получить и распечатать всю таблицу на моей веб-странице.Но когда я пытаюсь выбрать только столбец первичных ключей, строки, в которых есть значения в индексированном столбце, не отображаются.Например, если первая и вторая строки имеют значения в индексированном столбце, первая строка, показанная в результате оператора «SELECT id», будет третьей в таблице.

Я думал, что этосначала проблема с моим кодом, но кажется, что это поведение воспроизводится в phpmyadmin при попытке выполнить тот же SQL-запрос.

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стол был, вероятно, сломан, не знаю почему, я просто воссоздал один.Проблема решена

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...