|
|
|
| Как работает конструкция INSERT .... SELECT...... ?
Сначала все извлекает а потом все вставляет, или извлекает одну запись - вставляет одну запись и т.д.?
Должен ли работать такой запрос:
INSERT t1(id_order, price, qty)
SELECT id_order, price, qty
FROM t1 LEFT JOIN t2 USING(stock)
WHERE ....
|
Т.е. извлечение и встака в одну и ту же таблицу..... | |
|
|
|
|
|
|
|
для: tAleks
(12.02.2007 в 13:18)
| | >Сначала все извлекает а потом все вставляет, или извлекает одну запись - вставляет одну
>запись и т.д.?
Хм... помоему это не имеет значения... скорее всего для увеличения производительности сначал извлекается результирующая таблица, затем оптом вставляются все записи.
>Должен ли работать такой запрос:
Должен, если поля id_order, price, qty в таблице t1 не проиндексированы уникальным индексом или один из них не является первичным ключом. В противном случае, если например id_order является уникальным ключом, снабжённый атрибутом AUTO_INCREMENT поступают следующим образом
INSERT t1(id_order, price, qty)
SELECT NULL, price, qty
FROM t1 LEFT JOIN t2 USING(stock)
WHERE ....
|
| |
|
|
|
|
|
|
|
для: cheops
(12.02.2007 в 13:33)
| | SELECT NULL, t1.price, t1.qty
иначе будет неоднозначная ссылка. Таблиц-то две... | |
|
|
|