Общие > Базы данных

Создать две строки одним запросом

(1/1)

FDM:
Народ, подскажите пожалуйста, как можно создать две строки в базе одним запросом.
вот примерный код...

$sql1 = "INSERT INTO extensions_table ( app, exten, priority, context, appdata) VALUES (";
   $sql1 .= "\'".set."\',";
   $sql1 .= "\'".s."\',";
   $sql1 .= "\'".l."\',";
   $sql1 .= "\'".$_POST[name]."\',";
   $sql1 .= "\'".$_POST[ft1]."\');";
   $result = $db->query($sql1);
      
   if(DB::IsError($result)) {
      die($result->getMessage().\'\'.$sql1);
   }
   $sql2 = "INSERT INTO extensions_table (app, exten, priority, context, appdata) VALUES (";
   $sql2 .= "\'".goto."\',";
   $sql2 .= "\'".s."\',";
   $sql2 .= "\'".l."\',";
   $sql2 .= "\'".$_POST[name]."\',";
   $sql2 .= "\'".$_POST[ft2]."\');";
   $result = $db->query($sql2);
   if(DB::IsError($result)) {
   die($result->getMessage().\'\'.$sql2);
}
Вот при таком запросе база говорит что
DB Error: already exists
Как можно это сделать?
Просто исторически сложилось, что один пользователь в базе описывается двумя строками... и если заводить пользователя, то нужно сразу две строки вводить... причем  
строки отличаются только двумя полями, остальные поля у двух стрк одинаковы, не считаю автоинкрементного ид.

vasa_c:
Можно так:
insert into () values (значения первой строки),
(значения второй строки), (еще значения), ....

Только, возможно, не все версии всех БД это поддерживают.

А почему не хотите 2-я инсертами? Боитесь порвется связь за это время?

commander:
FDM
можно пользовать COPY...
только вот... зачем?

Навигация

[0] Главная страница сообщений

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 
Перейти к полной версии