CREATE TABLE problem
Jag har ett problem:
JAg använder följande SQL-anrop: "CREATE TABLE tabell (id AUTOINCREMENT, namn TEXT NOT NULL)" men vill att fältet id ska vara av typen GUID(samtidigt som den ör autoincrecement) plus att den inte ska tillåta dubletter plus att den ska vara primär, hur gör jag detta?
Tack på förhand
/Tobias
Svara
Sv: CREATE TABLE problem
Det är bara att fortsätta skriva:
"CREATE TABLE tabell (id AUTOINCREMENT NOT NULL KEY, namn TEXT NOT NULL)"
Jag har inte kollat upp syntaxen, dvs ordningen men det kan du lätt
slå upp i MSDN. Tror inte heller att det heter enbart KEY om det är
primärnyckel - men det ser du också om du tittar på hur man skapar
en tabell.
/Emma
Svara
Sv: CREATE TABLE problem
men jag vill att den ska vara av typen GUID också...
resten har jag lyckats med...
Svara
Sv: CREATE TABLE problem
Är det Access det gäller? I SQL Server finns det åtminstone inte något nyckelord som heter AUTOINCREMENT. I vilket fall som helst så kan man inte använda en GUID som en integer med automatisk uppräkning, eftersom den inte är ett tal. Det är helt enkelt bara ett unikt värde som skapas när det behövs och inte har någon inbördes ordning mot andra GUIDar. Vad du kan göra (i SQL Server iaf) är att automatiskt skapa en GUID varje gång en rad läggs in i en tabell. Syntax för detta (i SQL Server) är:
CREATE TABLE tabell
kolumn uniqueidentifier NOT NULL DEFAULT NEWID()
Svara
Sv: CREATE TABLE problem
Om du dessutom vill lägga till primary key (dubletter behöver du inte bry dig om, eftersom det skapas ett unikt värde varje gång NEWID() körs) så blir det:
CREATE TABLE tabell
kolumn uniqueidentifier NOT NULL DEFAULT NEWID()
CONSTRAINT pktabell PRIMARY KEY NONCLUSTERED (kolumn)
Svara