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