Detta har frågats många gånger och den allmänna idén kommer att misslyckas i en miljö med flera användare – och ett bloggsystem låter precis som ett sådant fall.
Så det bästa svaret är:Gör inte. Överväg ett annat tillvägagångssätt.
Släpp kolumnen helt från din tabell - den lagrar ingen information de andra två kolumnerna category_id (id, category) skulle inte lagra redan.
Ditt id är en serial kolumn och redan automatiska ökningar på ett tillförlitligt sätt.
- Automatisk ökning av SQL-funktion
Om du behöver någon sorts category_id utan luckor per category , generera det i farten med row_number() :
- Serienummer per grupp av rader för sammansatt nyckel