1. SQL / Говнокод #19246

    −50

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    21. 21
    22. 22
    23. 23
    24. 24
    25. 25
    26. 26
    27. 27
    BEGIN	
      DECLARE uid INT DEFAULT 0;
      DECLARE sid INT DEFAULT 0;
      DECLARE nextid INT DEFAULT 0;
      DECLARE gold FLOAT DEFAULT 3.34;
      DECLARE cgold FLOAT DEFAULT 0;
      DECLARE c CURSOR FOR 
        SELECT `id`, `statid` from users;
      OPEN c;
      size: LOOP
        FETCH c INTO uid, sid;
          if sid = 0 
            THEN 
             SET nextid = (SELECT AUTO_INCREMENT FROM information_schema.tables WHERE table_name = 'goldstat' AND table_schema = DATABASE() LIMIT 0,1); 
             UPDATE `users` SET `statid`= nextid WHERE (`id`= uid);
             INSERT INTO `goldstat` VALUES (nextid, uid, gold, '0', '0', '0', '0', '0', '0', '0', '0');
          ELSE
             SET cgold = (SELECT `overall_b` from goldstat WHERE `owner_id` = uid LIMIT 0,1);
              IF cgold = 0 
                THEN
                 SET cgold = cgold + gold;
                 UPDATE `goldstat` SET `overall_b`= cgold WHERE (`owner_id`= uid);
                END IF; 
           END IF;
       END LOOP size;
      CLOSE c;
    END

    Добавляется нулевая статистика уже заре

    Запостил: Cynicrus, 26 Декабря 2015

    Комментарии (0) RSS

    Добавить комментарий

    Ошибка компиляции комментария:
    1. Гости могут высказаться только во вторник, пятницу или субботу
    ava Семь раз отмерь — один отрежь, guest!
    А не использовать ли нам bbcode?
    • [b]жирный[/b] — жирный
    • [i]курсив[/i] — курсив
    • [u]подчеркнутый[/u] — подчеркнутый
    • [s]перечеркнутый[/s] — перечеркнутый
    • [blink]мигающий[/blink] — мигающий
    • [color=red]цвет[/color] — цвет (подробнее)
    • [size=20]размер[/size] — размер (подробнее)
    • [code=<language>]some code[/code] (подробнее)
    Проверочный код