Xample 0 Опубликовано 15 октября, 2013 Задача такова: нужно заменить предмет и количество макс дропа в таблице droplist у определённых мобов, а именно всех рб ниже 60лвл. Вот приблезительно написал, но не фурычит: UPDATE `droplist` SET `itemId`='4357',`max`='10' FROM `npc` WHERE type='L2RaidBoss' AND `level`<60; До этого я юзнул запрос по добавлению предмета ко всем рб (сработал): INSERT INTO `droplist` (mobId, itemId, min, max, category, chance) SELECT id, 4356, 1, 10, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss'; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
r0n1x 126 Опубликовано 15 октября, 2013 Такой запрос у Вас гибридный... Не сразу сообразишь, как хотите две таблицы совместить))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xample 0 Опубликовано 15 октября, 2013 (изменено) Такой запрос у Вас гибридный... Не сразу сообразишь, как хотите две таблицы совместить))) Ну во втором запросе же берёт из таблицы FROM `npc` type = 'L2RaidBoss' а в первом запросе мне нужно заменить itemId в `droplist` , а у кого заменивать также спрашивать из таблицы `npc` Изменено 15 октября, 2013 пользователем Xample Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Ksardasok 149 Опубликовано 15 октября, 2013 update droplist set item_id='4357', max='10' where mobid in(select id from npc where type='l2raidboss' and level<60); 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xample 0 Опубликовано 15 октября, 2013 update droplist set item_id='4357', max='10' where mobid in(select id from npc where type='l2raidboss' and level<60); впринципе написал уже сам такой же запрос по этому примеру: Изменяем цвет имя Лорда определенного замка (Скобки обязательны) UPDATE characters SET name_color="Код Цвета" WHERE obj_id IN (SELECT leader_id FROM clan_data WHERE hasCastle="Castle_ID"); но выдаёт вот что: mysql> update droplist set itemid='4357', max='10' where mobid in(select id from npc where type='l2raidboss' and level<60); ERROR 1062 : Duplicate entry '18554-4357-0' for key 'PRIMARY' mysql> Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Xample 0 Опубликовано 16 октября, 2013 Чёт так и не получается с UPDATE, ладно хрен сним. сделал вот так: DELETE FROM droplist WHERE itemId='4356'; INSERT INTO `droplist` SELECT id, 4357, 1, 5, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss' and level<60; INSERT INTO `droplist` SELECT id, 4356, 1, 2, 0, 900000 FROM `npc` WHERE type = 'L2RaidBoss' and level>60; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты