Mysql
 sql >> Base de données >  >> RDS >> Mysql

Insérer plusieurs lignes avec le même ID unique

Si j'ai bien compris votre question, vous souhaitez fournir un ID pour le groupe spécifique de INSERT déclarations.

En supposant que vous ayez ce schéma

CREATE TABLE TableName
(
    RecordID INT AUTO_INCREMENT PRIMARY KEY,
    OtherColumn VARCHAR(25) NOT NULL,
    GroupID INT NOT NULL
)

Vous pouvez avoir deux déclarations pour cela :

1.) Obtenir le dernier GroupID et l'incrémenter de 1 .

SELECT COALESCE(MAX(GroupID), 0) + 1 AS newGroupID FROM TableName

2.) une fois que vous l'avez exécuté, stockez la valeur dans une variable. Utilisez cette variable pour toutes les instructions d'insertion,

$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)";

MISE À JOUR 1