En MySQL, le mot-clé KEY
est simplement un synonyme de INDEX
. Les deux suivantes sont équivalentes:
CREATE TABLE foo (
id SERIAL PRIMARY KEY,
ctime DATETIME,
KEY ctkey (ctime)
);
CREATE TABLE foo (
id SERIAL PRIMARY KEY,
ctime DATETIME,
INDEX ctidx (ctime)
);
Dans Microsoft SQL Server, le plus proche équivalent est INDEX
. Pour autant que je sache, pour créer un index sur une colonne dans Microsoft SQL Server, vous utilisez CREATE INDEX
. Vous pouvez également créer des contraintes qui génèrent des index dans le cadre d'une instruction CREATE TABLE
, mais si vous avez juste besoin d'un index, utilisez CREATE INDEX
.
CREATE TABLE foo (
id BIGINT IDENTITY PRIMARY KEY,
ctime DATETIME
);
CREATE INDEX ctidx ON foo(ctime);
Voir également la documentation sur CREATE INDEX
.
hmm ... Je pensais qu'il ne pouvait y avoir qu'une seule clé primaire? – adeena
Il existe une seule clé primaire, mais elle peut comporter plusieurs colonnes. De cette façon, product_foo et product_bar n'ont pas besoin d'être uniques, mais considérés ensemble, ils doivent être uniques. Je préfère toujours les clés primaires à champ unique, mais cela est possible. – recursive
Oui, une seule clé primaire est autorisée. Mais vous pouvez commencer avec une table SANS clé primaire. – splattne