Здравствуйте господа,
Не подскажете MySQL запрос на добавление итема всем персонажам на сервере?
Благодарю.
pwsoft сборка.
Не подскажете MySQL запрос на добавление итема всем персонажам на сервере?
Благодарю.
pwsoft сборка.
|
Ищу MySQL запрос
|
|
Здравствуйте господа,
Не подскажете MySQL запрос на добавление итема всем персонажам на сервере? Благодарю. pwsoft сборка.
11-10-2014, 03:12 AM
Если есть временная таблица типа character_items
[SRC="sql"]INSERT INTO character_items (owner_id, item_id, count, enchant_level) SELECT charid, 4037, 10, 0 FROM characters;[/SRC] 4037 - ID итема 10 - количество 0 - уровень заточки после релога любой из игроков получит итемы
Вот бы сделать дома уборку и нажать "СОХРАНИТЬ"!)
11-10-2014, 03:14 AM
dorocki Написал:Если есть временная таблица типа character_items Только Items таблица есть.
11-10-2014, 03:22 AM
ну тогда просто вместо `characters_items` поставьте `items`
11-10-2014, 03:34 AM
Выполнил вот такой запрос
Код: INSERT INTO items (owner_id, item_id, COUNT, enchant_level) SELECT obj_Id, 25005, 10, 0 FROM characters;Код: 1062 - Duplicate entry '0' for key 'PRIMARY'
11-10-2014, 03:54 AM
Такой инсерт не годится, проблема в object_id - по дефолту при инсерте он будет 0 для каждой строчки, и после вставки первого предмета второй уже не вставится, т.к. object_id - это ключ таблицы и не допускает повторений.
К тому же object_id используется для всех сущностей в Л2 поэтому вставлять свои рендомные object_id тоже недопутимо, иначе после рестарта сервера получится дикая каша и сервак можно смело восстанавливать из бекапов. Направление действий следующее: если сервак в этот момент работает, то в базу не лезть. Когда сервак остановишь найди максимальный object_id по всем таблицам какие есть в бд, а уже после этого можно писать запрос с инкрементами опираясь на максимальный object_id. Либо сделать программно функционал, если есть сырцы.
11-10-2014, 03:56 AM
Mosinnik Написал:Такой инсерт не годится, проблема в object_id - по дефолту при инсерте он будет 0 для каждой строчки, и после вставки первого предмета второй уже не вставится, т.к. object_id - это ключ таблицы и не допускает повторений. Исходников нет, а можно пример запроса?
11-10-2014, 04:29 AM
Базы pw под рукой нету, поэтому на том что есть накидал. Сделал допущение что предметы обновляются чаще всего и не очень интенсивно. соответственно заменить item_id, count,enchant_level на свои
INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`) SELECT t2.charId AS `owner_id`, @n:=@n+1 AS `object_id`, 999999 AS `item_id`, 1 AS`count`, 0 AS `enchant_level` FROM ( SELECT ch.obj_Id AS charId, @n:=(SELECT MAX( items.object_id )+10000 FROM items ) FROM characters ch ) t2 вкратце: берем максимальное object_id из items к нему прибавляем 10к (можно поставить 100к например) и считаем что id и считаем что в базе нету большего id, (если есть то будет лажа, например какойнить клан с подобным id и вскроется оно не скоро) затем начиная с этого object_id генерируем для каждого нового предмета, увеличивая каждый раз на 1 И еще раз напоминаю: делать при запущеном серваке только на свой страх и риск!
11-10-2014, 04:38 AM
Mosinnik Написал:Базы pw под рукой нету, поэтому на том что есть накидал. Сделал допущение что предметы обновляются чаще всего и не очень интенсивно. соответственно заменить item_id, count,enchant_level на свои Простите за мою глупость, а можно вот на примере моей базы. дабы было достоверно. Собственно сюда суть такова, мне нужно предмет с ID 25005 добавить всем персонажам. Буду благодарен за помощь.
11-10-2014, 11:11 AM
А что вам мешает это сделать через ядро? К тому же в ядре взять новый (следующий) номер объекта куда проще чем городить костыли.
Родился, живу и когда-нибудь умру.
|
|
« Предыдущая | Следующая »
|
| Возможно похожие темы ... | |||||
| Тема | Автор | Ответы | Просмотры | Последний пост | |
| При запуске game server на сайте (sw13) ошибка mysql 0 | 1 | 2,543 |
09-27-2020, 11:32 PM Последний пост: Lord_Gothic |
||
| запрос sql. добавить предмет в дроп мобам по уровню | 2 | 2,686 |
06-17-2018, 09:48 PM Последний пост: PROGRAMMATOR |
||
| Mysql | 1 | 2,237 |
04-06-2018, 09:37 AM Последний пост: cjhrxSS |
||
| Помогите создать правильный mssql запрос | 2 | 2,252 |
09-03-2016, 12:32 AM Последний пост: Stenly76 |
||
| Потеря конекта с MySql | 3 | 2,090 |
02-23-2016, 12:30 AM Последний пост: RedIst |
||
| Sql запрос | 4 | 2,463 |
02-20-2016, 07:44 PM Последний пост: PROGRAMMATOR |
||
| Помогите составить правильно SQL запрос | 2 | 2,050 |
02-05-2016, 01:35 PM Последний пост: itcry |
||
| Подскажите запрос | 9 | 3,694 |
09-18-2015, 04:07 PM Последний пост: Dementor |
||
| mysql 5.5 | 0 | 1,660 |
03-25-2015, 02:38 PM Последний пост: 4ePtb |
||
| Зависают запросы MySQL | 12 | 6,035 |
08-08-2014, 01:58 PM Последний пост: SouthBridge |
||