![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
есть таблицы:
pages_ru, pages_en с одинаковой структурой, как создать новую таблицу pages из этих двух
pages_ru
id title text
1 Заголовок 1 Текст 1
7 Заголовок 2 Текст 2
12 Заголовок 3 Текст 3
pages_en
id title text
8 Title 1 Text 1
15 Title 2 Text 2
23 Title 3 Text 3
pages
id title_ru title_en text_ru text_en
1 Заголовок 1 Title 1 Текст 1 Text 1
2 Заголовок 2 Title 2 Текст 2 Text 2
3 Заголовок 3 Title 3 Текст 3 Text 3
Неактивен
Видимо никак, так как никто не знает, что именно Заголовок 1 = Title 1, а не Title 2 или Title 3, и нет никакой виимой связи между id в разных таблицах.
Неактивен
nikolajtesla: Заголовок 1, Title 1, Title 2 это данные которые находятся в таблицах, между id есть связь в том плане что данные в новую таблицу будут вставляться по очереди
Отредактированно Street85 (17.10.2010 23:26:44)
Неактивен
Street85 написал:
между id есть связь в том плане что данные в новую таблицу будут вставляться по очереди
Это не связь по id, а связь по номерам строк. Так как сервер MySQL телепатией не владеет, то вам нужно явно указать порядок объединения данных, например, создав дополнительные колонки с нумерацией строк.
Street85 написал:
как создать новую таблицу pages из этих двух
Можно сразу создать заполненную таблицу:
CREATE TABLE .. SELECT ..
Но при таком способе нельзя явно указать тип хранилища, не будут созданы индексы, да и тип поля может оказаться не тот, что вам нужен. Лучше сначала создать пустую таблицу, указав точные определения, а потом внести данные:
INSERT .. SELECT ..
Неактивен
а нельзя "выровнять" id по порядку, а потом запросом внести данные объединив эти таблицы? Просто данных очень много
Неактивен
Можно, например, пробежаться курсором по обеим табличкам. Но шанс, что
в какой-то из таблиц окажется таки «лишняя» строка — очень велик.
Неактивен
Street85 написал:
а нельзя "выровнять" id по порядку
Что значит "выровнять"? И чем это отличается от создания нумерации строк?
Неактивен
vasya спасибо
Неактивен