为多行插入第二个自动递增 id
Insert 2nd auto increment id for multiple rows
我想为多行插入相同的自动递增 ID。目前,我使用的是默认的自动增量。如何为另一列中的多行添加第二个自动递增 id(相同 id)?因为我在下面的代码中使用 groupid
。 .
$data = array();
foreach ($_POST['array'] as $key => $array) {
$data[$key]['groupid'] = intval($array['groupid']);
$data[$key]['User'] = strip_tags(trim(strval($array['user'])));
$data[$key]['address'] = strip_tags(trim(strval($array['address'])));
}
$stmt = $pdo->prepare("INSERT INTO users ('groupid','user','address') VALUES (:groupid, :user, :address) ");
foreach ($data as $key => $array) {
$stmt->execute(array(
':groupid' => $array['groupid'],
':user' => $array['user'],
':address' => $array['address'],
));
}
您的要求超出了auto_increment
的范围。我不知道允许这样做的 SQL 功能,您需要在应用程序中自己编写逻辑。
试试这个:
SELECT MAX(groupid) FROM users
- 将结果保存为 PHP 变量
- 将该变量加一 (+1)
- 在
INSERT
语句中为 groupid
使用变量。
我想为多行插入相同的自动递增 ID。目前,我使用的是默认的自动增量。如何为另一列中的多行添加第二个自动递增 id(相同 id)?因为我在下面的代码中使用 groupid
。 .
$data = array();
foreach ($_POST['array'] as $key => $array) {
$data[$key]['groupid'] = intval($array['groupid']);
$data[$key]['User'] = strip_tags(trim(strval($array['user'])));
$data[$key]['address'] = strip_tags(trim(strval($array['address'])));
}
$stmt = $pdo->prepare("INSERT INTO users ('groupid','user','address') VALUES (:groupid, :user, :address) ");
foreach ($data as $key => $array) {
$stmt->execute(array(
':groupid' => $array['groupid'],
':user' => $array['user'],
':address' => $array['address'],
));
}
您的要求超出了auto_increment
的范围。我不知道允许这样做的 SQL 功能,您需要在应用程序中自己编写逻辑。
试试这个:
SELECT MAX(groupid) FROM users
- 将结果保存为 PHP 变量
- 将该变量加一 (+1)
- 在
INSERT
语句中为groupid
使用变量。