SQL запрос

Тема в разделе "Базы данных", создана пользователем MysticW0, 15 фев 2014.

Статус темы:
Закрыта.
Модераторы: latteo
  1. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Меня интересует запрос с помощью которого в игре всем будут выданы деньги или вещь разом. Дайте пример какой нибудь как сделать и как выглядит с меня спасибо =)

    И даже если есть инклуд по сыл запросу а где я его видел и вроде бы тут то его тоже можно сюда скинуть, по нему я сделаю сыл запрос а где не правильно подправите =)

    ясно, спасибо за помощь дальше буду пробывать сам =)
     
    Последнее редактирование модератором: 15 фев 2014
  2. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.520
    Симпатии:
    1.369
    Всё зависит от структуры базы данных.

    Например, если есть таблица money со столбцами player_id и balance и в ней перечислены id всех игроков, достаточно выполнить
    Код:
    update `money` SET balance = balance + 1000
    
    - накинет всем игрокам на счёт 1000 условных единиц.
     
    MysticW0 и Горбушка нравится это.
  3. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    А принцып выдачи подарка я так понимаю что то подобное этому update `podarki` SET index = 4270 ?

    Или даже как то так update `podarki` SET `index` , `id` = `4270` , `10001` ?
     
  4. Горбушка

    Горбушка Ищу её...

    Регистр.:
    2 май 2008
    Сообщения:
    3.175
    Симпатии:
    2.195
    Скорее уж INSERT и с перечислением ID получателей...

    Мы так и будем общаться о несуществующей базе или всё же посмотрим на неё в деле, чтобы давать более точные ответы?
     
  5. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    любая база от сборки lifeiswar
     
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.520
    Симпатии:
    1.369
    Всё зависит от структуры базы данных. :)
    Может быть update `podarki` SET index = 4270 если подарок может быть только один, но скорее
    Код:
    insert into `podarki` (`index`, `player_id`) select '4270', `player_id` from `players`
    
    если предполагается, что есть таблица подарков и может быть больше одного для каждого игрока, а все игроки есть в таблице `players`

    Это самые простейшие из вариантов, на самом деле запрос для вручения подарка может быть настолько заковыристым, что его надо будет пару часов составлять даже опытному программисту :)
    Например, когда надо сделать подарок всем игрокам, которые заходили в игру за последнюю неделю и не имеют еще такого подарка :)
     
  7. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Все таки не разобрался я, в чем проблема этого запроса ?
    insert into `podarki` (`podarok`, `message`, `srok`, `NG`) select '110' , 'Подарок от Администрации' , '1209600' , '0'
    почему подарок не дает ?
    Если я вписываю еще id то это будет означать кому придет подарок
    вот пример insert into `podarki` (`index`, `id`, `podarok`, `message`, `srok`, `NG`) select '10001' , '110' , 'Подарок от Администрации' , '1209600' , '0'
     
  8. ne4to

    ne4to Постоялец

    Регистр.:
    16 ноя 2012
    Сообщения:
    107
    Симпатии:
    50
    insert into `podarki` (`index`, `id`, `podarok`, `message`, `srok`, `NG`) VALUES ('10001' , '110' , 'Подарок от Администрации' , '1209600' , '0')
     
  9. MysticW0

    MysticW0 Постоялец

    Регистр.:
    17 янв 2014
    Сообщения:
    111
    Симпатии:
    3
    Не то ((( вот что пишет #1136 - Column count doesn't match value count at row 1
     
  10. ne4to

    ne4to Постоялец

    Регистр.:
    16 ноя 2012
    Сообщения:
    107
    Симпатии:
    50
    (`index`, `id`, `podarok`, `message`, `srok`, `NG`)
    тут 6 полей

    ('10001' , '110' , 'Подарок от Администрации' , '1209600' , '0')
    а тут 5
     
Статус темы:
Закрыта.