[POSTGRESQL] WTF création unique impossibe

WTF création unique impossibe [POSTGRESQL] - SQL/NoSQL - Programmation

Marsh Posté le 01-03-2020 à 11:20:02    

Salut.
Je pige pas. j'essaye de créer une clé unique sur la colonne URL.  
Pour info je DROP la table et je la recrée (test en cours)

Code :
  1. try:
  2.     cursor.execute('CREATE TABLE TEST2 (URL varchar(455), TEXT text, DATE varchar(26));')
  3. except:
  4.     print "la table TEST2 existe deja"
  5. ligne2 = 'CREATE UNIQUE INDEX contrainte ON TEST2 (URL);'
  6. #try:
  7. cursor.execute(ligne2)
  8. #except:
  9. #    print "erreur creation contrainte TEST2"


j'ai décommenté pour voir le code erreur. (python)

Code :
  1. Traceback (most recent call last):
  2.   File "F:\programmes python\first_rank.py", line 88, in <module>
  3.     cursor.execute(ligne2)
  4. DuplicateTable: ERREUR:  la relation « contrainte » existe déjà


 
En effet après j'essaye de rentrer deux fois la même valeur dans URL et il les prend donc la clé n'est pas appliquée...... ????


---------------
http://www.ypikay.com
Reply

Marsh Posté le 01-03-2020 à 11:20:02   

Reply

Marsh Posté le 02-03-2020 à 10:14:55    

Bonjour !
 
Le message d'erreur est, a priori, relativement clair : selon moi, il existe déjà un index (ou autre objet connexe) sur une autre table déjà nommé "contrainte", il refuse donc la création du nouveau.
 
Bonne continuation.


---------------
On n'est jamais très fort pour ce calcul !
Reply

Marsh Posté le 02-03-2020 à 10:37:55    

Farian a écrit :

il existe déjà un index (ou autre objet connexe) sur une autre table déjà nommé "contrainte"


Bonjour et merci.
 
Cela signifie donc que, sur deux tables d'une même base, je ne peux pas créer d'index ou autre qui portent le même nom ?
Donc sur table1 ça sera index1 et sur table2, index2 ?


---------------
http://www.ypikay.com
Reply

Marsh Posté le 02-03-2020 à 10:54:29    

J'aurais tendance à conclure qu'en effet, le nom doit être unique sur l'ensemble de l'instance, le mieux étant de suivre une règle de nommage simple qui permet d'éviter ce genre de collisions.


---------------
On n'est jamais très fort pour ce calcul !
Reply

Marsh Posté le 02-03-2020 à 10:57:06    

Ah donc l'erreur devait venir du fait que j'avais créé plusieurs index de même nom sur des tables différentes.  
Merci encore


---------------
http://www.ypikay.com
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed