|
|
Модератор форума: Dimitro |
Форум TrinityCore [TrinityCore] Help Нужна помощь с sql-запросом в бд item_template |
Нужна помощь с sql-запросом в бд item_template |
Нужна помощь, ребят. Мне нужен запрос, который позволит из базы item_template взять все колонки entry и экспортировать их в дальнейшем в sql.
Объясню, для чего нужно: более 200 объектов необходимо перенести из бд, но нужна конкретно колонка entry. Сами запросы выглядят как обычно, я бы просто скопировал часть после "VALUES (", но не с таким большим количеством. Если кто-нибудь знает подобный вопрос, помогите, пожалуйста. Код INSERT INTO `item_template` VALUES (999999, 2, 7, -1, 'Quel-thze ', 26451, 5, 136, 0, 1, 0, 1, 21, -1, -1, 293, 80, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 10, 45, 100000000, 7, 10000000, 5, 10000000, 36, 10000, 35, 2000, 6, 10000000, 43, 50000000, 18, 10000, 21, 10000, 47, 1000, 0, 0, 820, 1950, 0, 0, 0, 0, 0, 200, 200, 200, 200, 200, 200, 18000, 0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 2, 'This world will burn.', 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 8, 0, 1, 0, 1894, 1383, 0, -95.8, 0, 0, 0, '', 54, 0, 0, 0, 0, 12340); INSERT INTO `item_template` VALUES (36942, 2, 8, 8, 'Frostmourne', 46609, 5, 8, 0, 1, 0, 1, 17, -1, -1, 800, 80, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 10, 1, -10000, 3, -3000, 4, -3000, 5, -3000, 6, -3000, 45, -5000, 36, -10000, 35, -1666, 31, -666, 12, -666, 0, 0, 991, 1487, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 60000, 0, 0, 43827, 1, 0, 0, -1, 0, -1, 28282, 1, 0, 0, -1, 0, -1, 62533, 0, 0, 60000, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0, -1, 0, -1, 1, 'That sword steal your soul.', 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '', 54, 0, 0, 0, 0, 12340); Добавлено (26.01.2016, 00:12) Код SELECT entry FROM item_template;
Сообщение # 1 написано 26.01.2016 в 00:12
|
Думаю, объекты тут имелись ввиду как некие единицы (в нашем случае предметы), которые нужно вытащить. Создал бд, закинул структуру item_template и вкинул туда все предметы с дампа, сделал запрос в бд. Если я правильно понял суть данного предложения и твоего вопроса, ты сделал все не то что через задницу, а через целых две задницы. По сути, твой запрос правильный, но его можно немного уточнить (это если нужны только определенные энтри): Код SELECT `entry` FROM `item_template` WHERE `entry` IN(ITEM_ID1, ITEM ID2, OTHER_ITEM ID`S); - эффективно только для небольшого списка энтри (или других составляющих выборки), особенно если они идут не по-порядку. SELECT `entry` FROM `item_template` WHERE `entry` BETWEEN ITEM_ID1 AND ITEM_ID500; - выбирает все энтри, которые находятся в радиусе от ITEM_ID1 (вписанный айди не включается в выборку, если ты хочешь его включить, то напиши предыдущий энтри, в данном примере это будет ITEM_ID0) до ITEM_ID500 (вписанный айди не включается в выборку, если ты хочешь его включить, то напиши следующий энтри, в данном примере это будет ITEM_ID501)
Сообщение # 3 написано 26.01.2016 в 15:03
|
В принципе, там есть еще варианты типа WHERE `entry`=NUMBER (>=NUMBER, <=NUMBER, >NUMBER, <NUMBER, IS NULL(если строки пустые, они будут выбраны), IS NOT NULL(если в строках есть хоть какие-то значения, их будет выбрано) ).
В скобках приведены все возможные математические операторы для выборки. |
Делаешь таблицу, например item_entry, в ней одну колонку entry.
Запрос: Код INSERT INTO item_entry (entry) SELECT entry FROM item_template; Дальше делаешь дамп и все. Если я тебя правильно понял.
Сообщение # 5 написано 26.01.2016 в 15:46
|
| |||
| |||