sql >> Base de Datos >  >> RDS >> Mysql

Insertar varias filas con la misma ID única

Si entendí su pregunta correctamente, desea proporcionar una ID para el grupo específico de INSERT declaraciones.

Asumiendo que tienes este esquema

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

Puede tener dos declaraciones para esto:

1.) Obtener el último GroupID e incrementarlo en 1 .

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

2.) una vez que lo haya ejecutado, almacene el valor en una variable. Use esta variable para todas las declaraciones de inserción,

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

ACTUALIZACIÓN 1