Вставьте несколько строк с тем же уникальным идентификатором

Я вставляю несколько строк, используя один запрос, и, очевидно, столбец идентификатора автоматически увеличивает каждую строку. Я хочу создать еще один столбец идентификаторов, и идентификатор останется неизменным для всех строк, вставленных во время запроса. Поэтому, если я вставляю 10 строк во время одного запроса, я хочу, чтобы все 10 строк имели идентификатор «1». Как это может быть сделано? Спасибо за любую помощь

Если я правильно понял ваш вопрос, вы хотите предоставить ID для определенной группы INSERT .

У вас есть эта схема

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

У вас могут быть два утверждения:

1.) Получение последнего GroupID и увеличение его на 1 .

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

2.) как только вы его выполнили, сохраните значение в переменной. Используйте эту переменную для всех операторов insert,

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

ОБНОВЛЕНИЕ 1

  • Демоверсия SQLFiddle