sql >> Databasteknik >  >> RDS >> PostgreSQL

Sekvenser med sammansatt primärnyckel

INSERT INTO [users]
(business_id, id)
FROM
(
SELECT 
ID - (SELECT MIN(ID) FROM [users] WHERE business_ID = B.ID) AS business_id
,(SELECT MAX(ID)+1 FROM [users] WHERE business_ID = B.ID) AS ID
FROM [businesses] B
)

om du länkar detta till de nya poster du lägger till, bör det ge den sammansatta nyckeln

Ny uppdatering:

INSERT INTO [users]
(business_id, id, name)
VALUES
(
3
,ISNULL((SELECT MAX(ID)+1 FROM [users] WHERE business_ID = 3),1) AS ID
,'d'
)


  1. Avisering när någon laddar upp en video

  2. Använda ett lagrat datumfält för att beräkna ett fält som beräknar det aktuella antalet passerade dagar

  3. REPLACE INTO vs Update

  4. Simple Rails App:Fel Kan inte besöka Integer