2012-10-05 5 views
0

Je voudrais faire une clé primaire dans une table SQLite en deux colonnes qui fonctionnent comme ceci:clé primaire dans une table SQLite en deux colonnes

  • Colonnes: id1, id2, value
  • plusieurs lignes peuvent partager id1
  • plusieurs lignes peuvent partager id2
  • Mais une seule ligne peut partager à la foisid1etid2

Je lis beaucoup mais tout question que j'ai dit comment faire deux clés primaires indépendantes, mais ce n'est pas mon cas.

Répondre

2

Oui, vous pouvez le faire.

sqlite> create table t (f1 integer, f2 integer); 
sqlite> create unique index i12 on t (f1, f2); 
sqlite> .schema 
CREATE TABLE t (f1 integer, f2 integer); 
CREATE UNIQUE INDEX i12 on t (f1, f2); 
sqlite> insert into t values (1,2); 
sqlite> insert into t values (1,3); 
sqlite> insert into t values (2,2); 
sqlite> insert into t values (1,2); 
Error: columns f1, f2 are not unique 

Voir la référence de CREATE INDEX.

+1

+1 vous y êtes arrivé en premier :) – davek

+0

Mais seulement par secondes :) –

+0

Merci aux deux !! – jbc25

Questions connexes