webForumDet fria alternativet

CREATE TABLE och indexerade fält

4 svar · 220 visningar · startad av m_soderlund

m_soderlundMedlem sedan sep. 20026 425 inlägg
#1

Jag undrar hur man väljer att exempelvis en kolumn kallad Firstname ska vara indexerad när jag skapar en tabell?

Cn.Execute("CREATE TABLE tbl_users(" &_
"Firstname char(200)," & _
"Lastname char(200)," & _
"Homepage char(200))")

Sätter jag exempelvis Firstname som i koden nedan? Jag tvivlar.. :(

Firstname char(200) indexed
nikoMedlem sedan juni 20022 599 inlägg
#2

Om det är ett unikt index och MSAccess vi talar om:

CREATE TABLE tbl_users (Firstname char(200) unique, Lastname char(200) ..

Om det är nåt annat så är det nog bäst att kolla i den DBMS:ens dokumentation hur CREATE TABLE-syntaxen kan se ut.

Så här ser den tex ut i MySQL: http://www.mysql.com/doc/en/CREATE_TABLE.html.

m_soderlundMedlem sedan sep. 20026 425 inlägg
#3

Det är inget index jag pratar om, utan att ett eller flera fält ska vara indexerade för att det ska gå snabbare att söka i dem. :D

nikoMedlem sedan juni 20022 599 inlägg
#4

Det är inget index jag pratar om, utan att ett eller flera fält ska vara indexerade för att det ska gå snabbare att söka i dem.

Ja, precis. Det är alltså ett index du pratar om och nyckelordet unique ger dig ett unikt index i Access. Vad är problemet?

Om det är SQL Server det handlar om, så kanske:

CREATE  [UNIQUE]  INDEX [ditt_indexnamn] ON [dbo].[tabell]([fält]) ON [PRIMARY]
nikoMedlem sedan juni 20022 599 inlägg
#5

Och om du vill skapa ett icke-unikt index i access:

create index ix_Firstname on tbl_users (Firstname)

(Verkar inte gå att göra direkt i CREATE TABLE-uttrycket.)

136 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)