|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Futur Membre du Club
![]() Inscription : février 2004 Messages : 61 ![]() |
Bonjour,
Je debute dans la création d'un BDD postgresql. J'ai 2 champs, le premier texte le second integer. j'arrive a cree une contraite du genre UNIQUE(1er_champ,2em_champ) Mais voila, je souhaite utiliser la valeur absolu sur le second champ. Mais UNIQUE(1er_champ,abs(2em_champ)) ou UNIQUE(1er_champ,@(2em_champ)) ne fonctionne pas. Merci pour toute info. PS: autre point UNIQUE & PRIMARY KEY cela revient-il au même? |
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Essaie de créer un index unique sur (1er_champ,abs(2em_champ))
Pour ta question, une PK est toujours unique, par contre il n'y a qu'une PK au maximum par table Par contre il peut y avoir pour une même tables plusieurs contraintes uniques sur différentes colonnes (oui différents groupes de colonnes)
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#3 |
|
Futur Membre du Club
![]() Inscription : février 2004 Messages : 61 ![]() |
merci de ta réponse. Mais je ne vois pas.
En plus j'ai laissé ce projet de coté quelque temps et j'ai déja tout oublié. Donc comme tu me l'a dit, J'essai... |
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : juin 2007 Messages : 1 497 ![]() |
Tu peux créer une colonne en plus dans ta table qui serait la valeur absolue de ton 2ème champ (alimentée via trigger sur la table, qui à chaque insert/update renseigne cette colonne), et faire ta contrainte sur cette colonne
Je ne vois pas d'autre solution
__________________
La théorie, c'est quand on sait tout mais que rien ne fonctionne. La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi. Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi ! Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/ |
|
|
00
|
|
|
#5 |
|
Futur Membre du Club
![]() Inscription : février 2004 Messages : 61 ![]() |
c'est une bonne idée...
![]() Mais le fait de mettre +/- id_user etais une astuce pour eviter d'ajouté une colonne. |
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 293 ![]() |
|
|
|
00
|
|
|
#7 |
|
Futur Membre du Club
![]() Inscription : février 2004 Messages : 61 ![]() |
Bon je vais me résigné ...
et ajouter une colonne. Merci |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com