{% else-1 %}
axer * 2.42
(16 дек 2016, 07:26) (0/0) [0]
SNEG, что хочешь, но нужно точно знать, что значение этого столбца не null.
А select count(*), т.е со звездочкой использовать только когда нужно просто подсчитать все записи в таблице, т.е когда не ичпользуется WHERE. А в таоем случае, лучше конкретизировать поле и, чтобы быть полностью уверенным в его заполненности использовать id, т.к оно 100% ключевое и пустым быть не может
axer * 2.42
(16 дек 2016, 06:50) (0/0) [0]
SNEG, ну ты же представляешь из чего состоит таблица? По-простому, из столбцов и строк.
Твой запрос:
Select count('id') from users where login = $login
По-русски запрос звучит так: посчитай количество строк, где логин = логину, который хотят зарегистрировать.
Здесь не принципиально что оборачивать в count, можно любое поле обернуть, но чаще всего пишут так, оборачивая id, потому как id - 100% заполнен и имеет значение
axer * 2.42
(16 дек 2016, 05:36) (0/0) [0]
Даже если ты сравнивал
select 'id' from users
с этим:
select * from users
То непонятно лично мне, с какого рожна ты решил, что select * работает быстрее, чем select id.
Select * - собирает абсолютно все поля таблицы, а select id, соответственно только id. Так и что быстрее - собрать ведро семечек или стакан?
axer * 2.42
(16 дек 2016, 05:28) (0/0) [0]
А ты такое не советуй, раз до конца не понимаешь, что в запросе происходит.
axer * 2.42
(16 дек 2016, 05:27) (0/0) [0]
SNEG, count('id') - выдаст не строки из таблицы, а их количество. Count и переводится как "количество".
А select * from - выбирает все поля из таблицы.

Логично, что используется count, так как здесь идет проверка на совпадение логина. Если в базе нет пользователя с таким логином, то count('id') будет равен нулю, иначе 1 или более
  • 1 из 1