Часто не рекомендуется SELECT *
.Вместо этого, будьте явными в отношении нужных вам столбцов и назначьте псевдонимы столбцам с одинаковыми именами:
SELECT
Cat.id AS catid,
Cat.name AS name,
Cheezeburger.id AS chzid,
...
FROM
Cat LEFT JOIN Cheezebuger.id ON Cheezburger.catId = cat.id
WHERE Cat.id = ?
Теперь, чтобы получить Cat.id
, используйте $cat['catid']
, а для получения Cheezeburger.id
используйте $cat['chzid']
.
Серьезная причина против SELECT *
состоит в том, что если вы добавите позже столбцы, которые не нужны в этой конкретной части вашего приложения, вы не будете использовать дополнительную память на сервере базы данных для извлечения ненужныхданные и загрузить его в веб-приложение, где он не будет использоваться.Если вам случится добавить двоичный столбец BLOB позже, вы можете без необходимости извлекать гораздо больше данных.
Другая причина - та, которую вы обнаружили.Вы можете предложить двусмысленность в именах столбцов.