Bonjour,
J'ai une table définie avec une génération en mode automatique pour ma clef primaire, id.
Le code associé :
Ma base de donnée est sous postgres, qui gère normalement l'incrémentation à l'aide de séquence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13JaiUneIdee\SiteBundle\Entity\AlerteIdee: type: entity repositoryClass: JaiUneIdee\SiteBundle\Repository\AlerteIdeeRepository table: alerte_idee fields: id: type: integer id: true generator: strategy: AUTO ....
Depuis symfony, tout va bien.
Mais aujourd'hui, j'ai essayé d'ajouter des valeurs manuellement dans la base de données à l'aide d'une commande INSERT basique.
La commande s'exécute bien, mais doctrine ne comprend pas que j'ai inséré ces lignes, et essaye de regénérer l'id 18... qui existe déjà. J'obtiens alors une erreur SQL de violantion de contrainte unique.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO alerte_idee(id, idee_id, user_id) VALUES (18,15,7), (19,15,10), (20,15,11), (21,15,16), (22,15,17)
Si j'omets de spécifier l'id dans la requete, comme suis :
J'ai alors une violation de contrainte not null sur ma clef primaire id.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 INSERT INTO alerte_idee(idee_id, user_id) VALUES (15,7), (15,10), (15,11), (15,16), (15,17),
Sauriez-vous comment résoudre ce problème ?
Merci,
Pierre
Partager