Vous pouvez rencontrer des erreurs lorsque vous essayez d'utiliser AUTO_INCREMENT pour numéroter automatiquement les clés primaires dans PostgreSQL. Examinons les causes possibles et leurs solutions :
Dans PostgreSQL 10 et supérieur, il est recommandé d'utiliser la colonne IDENTITY du SQL standard au lieu de AUTO_INCREMENT.
CREATE TABLE staff ( staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY , staff text NOT NULL );
ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY;
Faites-en également la clé primaire :
ALTER TABLE staff ADD COLUMN staff_id int GENERATED ALWAYS AS IDENTITY PRIMARY KEY;
Pour 9.6 ou version antérieure, utilisez le type de pseudo-données série :
CREATE TABLE staff ( staff_id serial PRIMARY KEY , staff text NOT NULL );
Veuillez vous assurer d'utiliser des identifiants valides (minuscules, sans guillemets) pour éviter des problèmes potentiels.
Si vous souhaitez remplacer les colonnes série par des colonnes IDENTITÉ, veuillez vous référer à ce document pour obtenir des conseils.
Vous pouvez utiliser OVERRIDING {SYSTEM|USER} VALUE pour remplacer les valeurs du système ou les entrées de l'utilisateur dans les commandes INSERT.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!