Forum Webscript.Ru
Общие => Базы данных => Тема начата: FDM от 25 Апреля 2006, 20:58:56
-
Народ, подскажите пожалуйста, как можно создать две строки в базе одним запросом.
вот примерный код...
$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
Как можно это сделать?
Просто исторически сложилось, что один пользователь в базе описывается двумя строками... и если заводить пользователя, то нужно сразу две строки вводить... причем
строки отличаются только двумя полями, остальные поля у двух стрк одинаковы, не считаю автоинкрементного ид.
-
Можно так:
insert into (<столбцы>) values (значения первой строки),
(значения второй строки), (еще значения), ....
Только, возможно, не все версии всех БД это поддерживают.
А почему не хотите 2-я инсертами? Боитесь порвется связь за это время?
-
FDM
можно пользовать COPY...
только вот... зачем?