Запрос mysql

Статус
В этой теме нельзя размещать новые ответы.

AmaTo

Бывалый
Участник
Сообщения
173
Розыгрыши
0
Решения
1
Репутация
9
Реакции
62
Баллы
673
Хроники
  1. Interlude
Сборка
не знаю
Всем привет. Подскажите пожалуйста как правильно сформулировать запрос mysql
К примеру у меня 140 боссов которые задействованы, как именно им менять уровень и тд (броня, хп), не затрагивая других боссов.
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25372' AND npc.type='L2Raidboss'; На одного босса работает.
Пытаюсь через "," добавить еще боссов, бьет ошибку. Гугл перерыл не нашел нужного решения.
 

Всем привет. Подскажите пожалуйста как правильно сформулировать запрос mysql
К примеру у меня 140 боссов которые задействованы, как именно им менять уровень и тд (броня, хп), не затрагивая других боссов.
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25372' AND npc.type='L2Raidboss'; На одного босса работает.
Пытаюсь через "," добавить еще боссов, бьет ошибку. Гугл перерыл не нашел нужного решения.
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25372' AND npc.type='L2Raidboss';
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25373' AND npc.type='L2Raidboss';
В чем проблема сделать несколько запросов?)
 
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25372' AND npc.type='L2Raidboss';
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25373' AND npc.type='L2Raidboss';
В чем проблема сделать несколько запросов?)
У меня 140+ таких боссов, да и поменять надо уровень, хп, бег, броню, атаку.
Думаю запросом будет в разы быстрее
 
"REPLACE INTO npc (`npc.id`, `npc.type`, `hp`) VALUES (?, ?, ?)"
Java:
try (Connection con = DataBaseConnection.getConnection();
             PreparedStatement statement = con.prepareStatement(REPLACE_INFO))
        {
            for (Npc npc : _grandBosses)
            {
                    statement.setInt(1, npc.getID());
                    statement.setByte(2, npc.getBossType());
                    statement.setLong(3, 5000000);
                    statement.addBatch();
        
            }
            statement.executeBatch();
            statement.closeOnCompletion();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
А если так ?
 
Код:
UPDATE `npc` SET `hp`='5000000' WHERE npc.type='L2Raidboss';
изменит всем нпц с типом босс хп на значение 5кк
 
  • Ха-ха-ха
Реакции: Rolo
Сори за агрессивность, но не долбись в глаза
дак некто и не долбится. вы написали что вам нужно 140+ боссам изменить значения, залейте этих боссов в отдельную таблицу, апните запросом им всем статы, а потом в колонку нпц с заменой уже апнутый запрос сделайте. ну или мы друг друга не поняли.
 
Or you can add a new NPC type, L2RBevent, change the type of all raids you want and then using the java you can make their stats flexible depending on whatever you like.
For example:
if playersInRadius(1500) is greater than 5, then for all L2RBEvent HPx2, Armor/MR x2 and whatever.
This way you will be able to control everything about them all at once, including respawns and stats etc.
 
Всем привет. Подскажите пожалуйста как правильно сформулировать запрос mysql
К примеру у меня 140 боссов которые задействованы, как именно им менять уровень и тд (броня, хп), не затрагивая других боссов.
UPDATE `npc` SET `hp`='5000000' WHERE npc.id='25372' AND npc.type='L2Raidboss'; На одного босса работает.
Пытаюсь через "," добавить еще боссов, бьет ошибку. Гугл перерыл не нашел нужного решения.
SQL:
UPDATE `npc` SET `hp`='5000000' WHERE (SELECT id) AND npc.type='L2Raidboss';
А что с обычным шаровым запросом? Какая то ошибка при его выполнении?
 
SQL:
UPDATE `npc` SET `hp`='5000000' WHERE (SELECT id) AND npc.type='L2Raidboss';
А что с обычным шаровым запросом? Какая то ошибка при его выполнении?
SQL:
UPDATE `npc` SET `hp`='5000000' WHERE id in (25372,25375,25378,25146,25357,25373,25380,25001,25362,25366,25060,25127,25019,25076,25149,25166,25369,25426,25429,25360,25365,25038,25272,25095,25004,25079,25112,25169,25188,25352,25501,25392,25401,25128,25391,25404,25020,25023,25189,25383,25041,25063,25098,25118,25152,25185,25223,25354,25388,25211,25385,25506,25170,25394,25082,25504,25064,25115,25134,25155,25208,25214,25410,25487,25415,25490,25007,25088,25192,25085,25099,25418,25438,25057,25173,25260,25437,25395,25441,25498,25412,25158,25420,25026,25047,25456,25013,25119,25131,25217,25273,25277,25484,25050,25460,25067,25473,25481,25159,25010,25070,25103,25137,25176,25241,25259,25280,25434,25475,25493,25122,25423,25463,25230,25032,25089,25238,25444,25478,25162,25179,25256,25226,25106,25467,25125,25140,25234,25255,25263,25073,25233,25035,25092,25269,25281,25453,25447,25235,25248,25220,25523,25109) AND npc.type='L2Raidboss';
Таким залил, зачем мне шаровый запрос если он всем меняет
 
SQL:
UPDATE `npc` SET `hp`='5000000' WHERE id in (25372,25375,25378,25146,25357,25373,25380,25001,25362,25366,25060,25127,25019,25076,25149,25166,25369,25426,25429,25360,25365,25038,25272,25095,25004,25079,25112,25169,25188,25352,25501,25392,25401,25128,25391,25404,25020,25023,25189,25383,25041,25063,25098,25118,25152,25185,25223,25354,25388,25211,25385,25506,25170,25394,25082,25504,25064,25115,25134,25155,25208,25214,25410,25487,25415,25490,25007,25088,25192,25085,25099,25418,25438,25057,25173,25260,25437,25395,25441,25498,25412,25158,25420,25026,25047,25456,25013,25119,25131,25217,25273,25277,25484,25050,25460,25067,25473,25481,25159,25010,25070,25103,25137,25176,25241,25259,25280,25434,25475,25493,25122,25423,25463,25230,25032,25089,25238,25444,25478,25162,25179,25256,25226,25106,25467,25125,25140,25234,25255,25263,25073,25233,25035,25092,25269,25281,25453,25447,25235,25248,25220,25523,25109) AND npc.type='L2Raidboss';
Таким залил, зачем мне шаровый запрос если он всем меняет
Он не меняет всем, в том и суть что меняет только тем у кого type=l2raidboss, не более.
 
Он не меняет всем, в том и суть что меняет только тем у кого type=l2raidboss, не более.
Да вы вообще читали что я хотел узнать у людей???? Такое чувство что первые 2 слова...
Зачем мне менять всем, если я просил только по ид, т.е. не всем.
Вообщем тему клоуз, сверху помогли
п.с. where id in (1,2,3)
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху Снизу