Mysql Переворот значений :)

Статус: Офлайн
Реєстрація: 04.07.2008
Повідом.: 677
Mysql Переворот значений :)

Добрый день.
Есть база данных:
Id
town_id_s
town_id_f
distance
road_type
.
Например 1 38 36 34 7
Какой самый удобный способ копировать и поменять строчки
С 1 38 36 34 7
На 1000 36 38 34 7
То есть помнять айдишники городов (Для алгоритма Дейкстры, так как расстояния напарсил только в одну сторону)
Может можно как то сделать чистым мускулом?
А решение в лоб Запрос - меняем местами - вставляем, но это легко.
p.s. Насчет парсинга городов получился
Парсер (MultiCurl (Rolling_curl)+ simle_html_dom):
1. 10 запросов в 4 сек (На VPS)
2. 7000городов * 7000 городов = 49,000,000 - (Дубликаты ) 7000.
3. Проверка на существовании записи при запросе к сайту и при выдаче сайта донора.
Вообще один сплошной минус :) Так как парсить нужно очень много времени ~ 226 дня или 7,5 месяца
Запустил через ssh, и кинул в бекграунд)))
 
а это не пробовал читать?
⚠ Тільки зареєстровані користувачі бачать весь контент та не бачать рекламу.
 
Это альтернатива :) Просто у меня скрипт показывает исключительно все города через какие едешь с указанием типов трасс и расстояниями между отрезками. А на гугле я отмечаю маркером эти точки. :)
 
>Есть база данных:
может таблица?

>Какой самый удобный способ копировать и поменять строчки
создаем новую таблицу с такой же структурой (`table2`),

insert into
`table2`
select
`town_id_f`,
`town_id_s`,
`distance`,
`road_type`
from
`table`

и обратно

insert into
`table`
select
`town_id_s`,
`town_id_f`,
`distance`,
`road_type`
from
`table2`

для уникальности записей - unique key на `town_id_s`, `town_id_f` (в случае, если у вас один путь из А в Б) и в запросах выше использовать либо on duplicate key, либо убрать Id и использовать replace вместо insert.
 
id в этой таблице вообще не нужен уникальный индекс это связка town_id_s, town_id_f
и если расстояние одно и тоже в обе стороны то переворачивать их нет смысла, а просто при поиске искать или в одно направление или в другое
 
Назад
Зверху Знизу