Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не могу понять как работает данный запрос
 
 автор: Dr Lines   (08.10.2009 в 02:30)   письмо автору
 
 

Не могу понять как работает данный запрос:


INSERT INTO `b_user_group` (`USER_ID`, `GROUP_ID`) SELECT 22, `ID` FROM `b_group` WHERE `ID` in (3,9,10,11);


Понимаю только первую часть: Вставить в таблицу b_user_group в колонки `USER_ID`, `GROUP_ID` . а что дальше не понимаю. Ведь обычная структура данного запроса выглядит как: INSERT INTO `table` (`fields`) VALUES (`values`);

Объясните как работает этот запрос?

  Ответить  
 
 автор: Ramilka   (08.10.2009 в 03:06)   письмо автору
 
   для: Dr Lines   (08.10.2009 в 02:30)
 

данные, которые нужно вставить берутся из этой части запроса:
SELECT 22, `ID` FROM `b_group` WHERE `ID` in (3,9,10,11)

В первом поле будет число 22, во втором будет ID из таблицы `b_group`, которое присутствует в списке (3,9,10,11)

  Ответить  
 
 автор: Dr Lines   (08.10.2009 в 03:13)   письмо автору
 
   для: Ramilka   (08.10.2009 в 03:06)
 

Понятно, такой запрос получается может выполнить несколько действий INSERT за один раз, если результат выполнения SELECT будет содержать несколько строк?

  Ответить  
 
 автор: cheops   (08.10.2009 в 03:14)   письмо автору
 
   для: Dr Lines   (08.10.2009 в 03:13)
 

Совершенно верно. Только в отличие от многострочного INSERT данные для вставки берутся непосредственно из другой таблицы.

  Ответить  
 
 автор: cheops   (08.10.2009 в 03:13)   письмо автору
 
   для: Dr Lines   (08.10.2009 в 02:30)
 

По сути это копирование части данных таблицы b_group в таблицу b_user_group.

  Ответить  
 
 автор: Dr Lines   (08.10.2009 в 03:18)   письмо автору
 
   для: cheops   (08.10.2009 в 03:13)
 

Понятно, спасибо что объяснили.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования