Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
09.08.2017, 07:30
|
|||
---|---|---|---|
|
|||
insert |
|||
#18+
Привет всем. Так как SQL для меня пока ещё тёмный лес, вопрос, вероятно, тупой. Опишу человеческим языком. Есть простейшая таблица, назовём её ref_table, два столбца, один, например, name типа text, другой id типа int. Требуется делать вставку строк в _другую_ таблицу, в которой есть аналогичный столбец id типа int, и при вставке строки надо "резольвить" соответствующий id из таблицы ref_table, ибо при вставке нет конкретного id, но есть текстовый аргумент, который можно и нужно сопоставлять с одной из строк таблицы ref_table. Как это делается ? Простейший пример, плз. Вся документация, ессно, доступна, но в голову помещается не всё и не сразу. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.08.2017, 09:28
|
|||
---|---|---|---|
insert |
|||
#18+
kunjut, Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
09.08.2017, 09:43
|
|||
---|---|---|---|
|
|||
insert |
|||
#18+
Спасибо, попробую :) А в такой форме insert, как: insert tablename (id) values (..),(..)....; - будет ли "select id from ref_table .." из вашего примера работать достаточно быстро ? Суть вопроса в том, что у меня будет добавляться порядка 40 млн. строк, и я SQL скрипт разбиваю на блоки insert с, например, 5000 "values" - вроде как это работает быстрее, чем одиночные insert-ы. И вот думаю, если в values вставлять select-ы - это будет быстрый вариант ?... Что нибудь типа prepared statement бы было классно, но даже не представляю, как сюда это прикрутить вообще. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1996305]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
others: | 359ms |
total: | 476ms |
0 / 0 |