Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Insira várias linhas com o mesmo ID exclusivo


Se entendi sua pergunta corretamente, você deseja fornecer um ID para o grupo específico de INSERT declarações.

Supondo que você tenha esse esquema
CREATE TABLE TableName
(
    RecordID INT AUTO_INCREMENT PRIMARY KEY,
    OtherColumn VARCHAR(25) NOT NULL,
    GroupID INT NOT NULL
)

Você pode ter duas declarações para isso:

1.) Obtendo o último GroupID e incrementá-lo em 1 .
SELECT COALESCE(MAX(GroupID), 0) + 1 AS newGroupID FROM TableName

2.) depois de executá-lo, armazene o valor em uma variável. Use esta variável para todas as instruções de inserção,
$groupID = row['newGroupID'];
$insert1 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('a', $groupID)";
$insert2 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('b', $groupID)";
$insert3 = "INSERT INTO TableName(OtherColumn, GroupID) VALUES ('c', $groupID)";

ATUALIZAÇÃO 1