sql >> Database teknologi >  >> RDS >> Mysql

Indsæt flere rækker med samme unikke ID

Hvis jeg har forstået dit spørgsmål korrekt, vil du angive et ID for den specifikke gruppe INSERT udsagn.

Forudsat at du har dette skema

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

Du kan have to udsagn til dette:

1.) Hentning af det sidste GroupID og forøg den med 1 .

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

2.) Når du har udført det, skal du gemme værdien i en variabel. Brug denne variabel til hele insert-sætningen,

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

OPDATERING 1




  1. Hibernate OnDelete Cascade virker ikke for MySql, men virker på postgres og Ms-Sql

  2. JSP/Servlets:Hvordan uploader jeg en zip-fil, pakker den ud og udpakker CSV-filen

  3. Oprettelse af vedligeholdelsesplaner i SQL Server

  4. Lær din SQL Server-arbejdsbelastning at kende