Unicitee d'une combinaison de champ mySQL

cs_epicfail Messages postés 2 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 novembre 2009 - 3 nov. 2009 à 12:53
cs_epicfail Messages postés 2 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 novembre 2009 - 3 nov. 2009 à 15:08
Bonjour, je voudrais que dans ma table compose de 5 champs, la combinaison de ces 5 champs soit unique mais je ne sais
pas comment faire merci de m'aider.

CREATE TABLE `mydbo`.`mytable`(
champ1 INTEGER NOT NULL,
champ2 INTEGER NOT NULL,
champ3 INTEGER NOT NULL,
champ4 INTEGER NOT NULL,
champ5 INTEGER NOT NULL,
champ6 INTEGER NOT NULL,
champ7 INTEGER NOT NULL,
champ8 INTEGER,
champ9 VARCHAR(100),
champ10 DECIMAL(5,2),
PRIMARY KEY(champ1, champ2, champ3, champ4, champ5),
KEY(champ1),
KEY(champ2),
KEY(champ3),
KEY(champ4),
KEY(champ5),
KEY(champ8),
FOREIGN KEY(champ6) REFERENCES mytable2(champ6),
FOREIGN KEY(champ7) REFERENCES mytable3(champ7)
)ENGINE=InnoDB;

voila pour l'instant la structure de ma table.

1 réponse

cs_epicfail Messages postés 2 Date d'inscription mardi 3 novembre 2009 Statut Membre Dernière intervention 3 novembre 2009
3 nov. 2009 à 15:08
CREATE TABLE `theretailforce`.`structure_marchandise_societe`(
id_societe INTEGER NOT NULL,
reseau INTEGER NOT NULL,
secteur INTEGER NOT NULL,
departement INTEGER NOT NULL,
rayon INTEGER NOT NULL,
famille INTEGER NOT NULL,
ss_famille INTEGER DEFAULT'0',
niveau_traitement INTEGER,
libelle VARCHAR(100),
marge_theorique_pc DECIMAL(5,2),
index(secteur),
index(departement),
index(rayon),
index(famille),
index(ss_famille),
index(niveau_traitement),
PRIMARY KEY(id_societe, reseau, secteur, departement, rayon, famille, ss_famille),
FOREIGN KEY(id_societe) REFERENCES societe(id_societe),
FOREIGN KEY(reseau) REFERENCES societe_reseau(reseau)
)ENGINE=InnoDB;

ALTER TABLE `theretailforce`.`structure_marchandise_societe` ADD CONSTRAINT unique_strc UNIQUE(id_societe, reseau, secteur, departement, rayon, famille, ss_famille);

sa ne marche pas et je ne sais pas pourquoi, les champ ne sont toujour pas unique pourtant je n'ai pas de message d'erreur quand j'envoie la requete.
0
Rejoignez-nous