Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как наложить текст одного столбца на другой? / 6 сообщений из 6, страница 1 из 1
25.07.2014, 16:29:59
    #38706181
Slindexin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
Всем привет!
Имеется MMORPG, перевод названия вещей/врагов находится в MySQL базах. У меня есть .sql файл с переводом и есть сама таблица.
Обнулить таблицу и накатить из sql по новой не получаются - базы различаются по структуре.
Поэтому идея наложить текст одного столбца на другой.
Имеется столбец locale_name , в котором находятся все названия.
Скрин столбца

Имеется .sql файл, в котором все эти показатели находятся в столбце с названием gb2312name , пример строки:
Пример строки (расширяет страницу)[CSV]INSERT INTO `item_proto` (`vnum`,`name`,`locale_name`,`type`,`subtype`,`weight`,`size`,`antiflag`,`flag`,`wearflag`,`immuneflag`,`gold`,`shop_buy_price`,`limittype0`,`limitvalue0`,`limittype1`,`limitvalue1`,`applytype0`,`applyvalue0`,`applytype1`,`applyvalue1`,`applytype2`,`applyvalue2`,`value0`,`value1`,`value2`,`value3`,`value4`,`value5`,`socket0`,`socket1`,`socket2`,`socket3`,`socket4`,`socket5`,`refined_vnum`,`refine_set`,`magic_pct`,`specular`,`socket_pct`) VALUES ('99',164400,'ГЦ°н±Ю АьјіАЗ Иж·жј®','Легенд. Оникс Дракона','29','5','0','1','163840','0','0','0','0','0','9','14400','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0','0');

Цель: наложить все показания gb2312name поверх locale_name (все vnum совпадают, разница лишь в переводе)
Вопрос: возможно ли такое?
...
Рейтинг: 0 / 0
25.07.2014, 16:49:01
    #38706204
javajdbc
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
Slindexin,

как вариант:

1. загрузите новый перевод в отдельную базу илли
в отдельные таблицы в тойже базе данных (если имена таблиц НЕ совпадают).

2. проверьте качество данных -- всем ли старым значениям есть новый
перевод? продумайте что делать с недостаюшими переводами
если такие имеют место быть.

3. прочитайте про команду UPDATE
в которой участвуют две таблицы :
старая таблица и новая с новыми переводами.
...
Рейтинг: 0 / 0
25.07.2014, 17:14:54
    #38706244
Slindexin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
javajdbc1. загрузите новый перевод в отдельную базу илли
в отдельные таблицы в тойже базе данных (если имена таблиц НЕ совпадают).


Спасибо за ответ. Вопрос: как загрузить именно gb2312name в существующую таблицу, а не все подряд? (именно gb2312name содержит в себе перевод и имеет другое название по сравнению с оригинальным переводом)
...
Рейтинг: 0 / 0
25.07.2014, 17:20:29
    #38706250
Cygapb-007
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
Slindexin,

1. SQL не работает с массивами
2. SQL не работает со столбцами

SQL работает со строками

Для того, чтобы изменить значение поля в строке, используется UPDATE
Для того, чтобы изменить на правильное (нужное) значение, требуется (правильно) связать 2 таблицы: каждой строке с оригинальным названием нужно сопоставить одну строку с переводом. Проще это отрегулировать через SELECT
Когда написан SELECT, не составляет особого труда трансформировать его в UPDATE.
...
Рейтинг: 0 / 0
25.07.2014, 17:24:26
    #38706255
Slindexin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
Алсо, появилась новая идея со след. последовательностью.

Загружаем столбец gb2312name (нужный перевод из sql файла) в эту же таблицу (ошибок не будет т.к. в MySQL за перевод отвечает locale_name , а gb2312name нету вообще) -> переименовываем locale_name в locale_name1 -> переименовываем gb2312name в locale_name -> ребутим, проверяем, если все работает, удаляем locale_name1.

Вопрос - как всё это реализовать?
...
Рейтинг: 0 / 0
25.07.2014, 18:49:12
    #38706313
tanglir
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как наложить текст одного столбца на другой?
SlindexinЗагружаем столбец gb2312name (нужный перевод из sql файла) в эту же таблицуещё раз, теперь я:
Cygapb-007Slindexin,

1. SQL не работает с массивами
2. SQL не работает со столбцами

SQL работает со строками

Для того, чтобы изменить значение поля в строке, используется UPDATE
Для того, чтобы изменить на правильное (нужное) значение, требуется (правильно) связать 2 таблицы: каждой строке с оригинальным названием нужно сопоставить одну строку с переводом. Проще это отрегулировать через SELECT
Когда написан SELECT, не составляет особого труда трансформировать его в UPDATE.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как наложить текст одного столбца на другой? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]