2013-03-15 5 views
0

В настоящее время я вставляю сразу несколько строк. У меня есть столбец «id» в таблице «соглашение», для которого установлено значение auto increment. Это, очевидно, создание нового идентификатора для каждой вставленной строки.Вставьте несколько строк с одинаковым общим ID

Есть ли способ вставить все строки сразу с тем же идентификатором?

if ($stmt = $mysqli->prepare("INSERT agreement (start, end, customer, manufacturer, item_number, item_description) VALUES (?, ?, ?, ?, ?, ?)")) { 
    $stmt->bind_param("ssssss", $start, $end, $customer, $manufacturer, $number, $description); 
    for ($i = 0; $i < count($_POST['item']); $i++) { 
     $number = $_POST['item'][$i]; 
     $description = $_POST['description'][$i]; 
     $theid2 = $theid[$i]; 
     $stmt->execute(); 
    } 
    $stmt->close(); 
} 
// show an error if the query has an error 
else { 
    echo "ERROR: Could not prepare SQL statement 1."; 
} 


// redirect the user 
} 
$mysqli->error; 
$mysqli->close(); 

ответ

0

Если бы это был вопрос оракула, ответ был бы да, но MySQL не имеет последовательностей. Для этого вам нужен источник уникальной последовательности для использования для вашего набора записей. Самое простое - вставить в другую таблицу и получить автоматически увеличивающийся ключ для использования в качестве своего идентификатора.

+0

Или, если вы не хотите платить за Oracle, PostgreSQL ... – IMSoP

Смежные вопросы