Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Wstaw wiele wierszy z tym samym unikalnym identyfikatorem

Jeśli dobrze zrozumiałem Twoje pytanie, chcesz podać ID dla określonej grupy INSERT oświadczenia.

Zakładając, że masz ten schemat

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

Możesz mieć do tego dwa stwierdzenia:

1.) Pobieranie ostatniego GroupID i zwiększ go o 1 .

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

2.) po wykonaniu, zapisz wartość w zmiennej. Użyj tej zmiennej dla wszystkich instrukcji 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)";

AKTUALIZACJA 1




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jaka jest właściwa konwencja nazewnictwa dla pakietów MySQL FK?

  2. Zastępowanie unikalnych wartości indeksowanych

  3. Domyślna wartość TERAZ w dwóch kolumnach MySQL ERROR 1067

  4. Przepływ pracy UTF8 PHP, podsumowanie MySQL

  5. Ostatnie x wpisów na blogu - ale tylko raz na użytkownika