Ответы пользователя по тегу SQL
  • Кто поможет переписать SQL запрос?

    shaks
    @shaks
    Я не совсем понял что у вас где храниться, и зачем вам логин аккаунта, но подразумеваю что вы имели ввиду что баланс юзера хранится не в таблице users а в таблице lm_balance

    Эти таблицы объединяет только одно ИД аккаунта

    Во первых имя колонки с id аккаунта (ид юзера в вашем случае) должен называться user_id а не name (судя по вашему sql запросу).
    Во вторых, balance = balance +" . floor($_credits) . " - за это руки вырывать надо, с корнями.
    Баланс ведите в наименьшей величине, если баланс рублевый - в копейках, долларовый - в центах, биткоиновый - в сатоши, и тд, и ничего не округлять никогда, если хотите чтобы сводился дебит с кредитом. При работе с большими числами лучше использовать либу по работе с большими числами
    В третьих, ид юзера нужно просить не юзера ввести, а брать из сессии (если у вас сессионная авторизация).
    В четвертых, функции mysql_* уже давно устарели и помечены как деприкейтед. В пхп7, если я не ошибаюсь - драйвер mysql убрали.
    Ответ написан
    Комментировать
  • В каком случае запрос быстрее?

    shaks
    @shaks
    в мускуле можно глянуть с помощью профайлера. Он доступен помоему с 5й версии или типа того

    set profiling=1;
    SELECT * FROM `table` ORDER BY (`column1` - `column2`);
    SELECT *, (`column1` - `column2`) AS `column3` FROM `table` ORDER BY `column3`;
    show profiles;

    На выходе получишь табличку со скоростью выполнения каждого из запросов
    Ответ написан
    Комментировать
  • Как сделать автоподстановку значения поля SQL при пустой строке?

    shaks
    @shaks
    Необходимо же сделать так, чтобы при незаполненном поле формы в соответствующую ячейку БД записывалось дефолтное значение таблицы.


    www.mysql.ru/docs/man/ALTER_TABLE.html
    ALTER [IGNORE] TABLE tbl_name  [COLUMN] col_name {SET DEFAULT literal | DROP DEFAULT}

    В твоем случае будет чтото типа такого:
    ALTER  TABLE `tbl_name`  CHANGE  `changelog`  `changelog` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT 'changelog.txt'
    # @ phpmyadmin
    Ответ написан