webForumDet fria alternativet

Unique Identifier

9 svar · 181 visningar · startad av erka

erkaMedlem sedan dec. 19994 597 inlägg
#1

Kort fråga
Om jag skapar flera tabellen i en mssql2000 db med ett fält i varje tabell som är en uniqueidentifier, då kommer ALDRIG 2 id med samma uniqueidentifier upp i databasen.

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

erkaMedlem sedan dec. 19994 597 inlägg
#2

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 04 okt 2001]

LarsGMedlem sedan dec. 200012 465 inlägg
#3

Det har inget med datatypen att göra. Det är funktionen NEWID() som genererar globalt unika värden.

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19994 597 inlägg
#4

RowGuid, vad är det för något, måste det vara yes om man ska ha det som ett unikt värde ? För i enterprisemanager när man markerade rowguid = yes så ploppade det upp NEWID() som defautl värde

Sen har jag en fråga till
Jag ska ha en tabell som heter AttachedFiles och Ifrån tabellen Topics ska fältet AttachedID relatera (1 to many) till fältet AttachedID i tabellen AttachedFiles. Vad ska fältet i attachedfiles tabellen vara av för format för att kunna relateras till det unika värdet i tabellens Topics's kolumn AttachedID ?

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 04 okt 2001]

LarsGMedlem sedan dec. 200012 465 inlägg
#5

Samma. Om attachid i topics är uniqueidentifier så måste attachid i attachedFiles också vara det för att di skall kunna ha en foreign key mellan dem.

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19994 597 inlägg
#6

Hmm något är fel
Jag har i tabellen topics en uniqueide. som inte är någon primärnyckel sen i attachedfiles har jag en uniqueide. som inte heller är primärnyckel när jag försöker göra en relation mellan dem kommer "The columns in table "topics" do not match an existing primary key or Unique constraint."

Vad är det som är galet , bergis att larsg vet svaret ;) Om jag gör unique ide. i topics till primärnyckel så går det men det skulle jag helst vilja slippa, vill ha en vanlig counter som primärnyckel i den.

Hur gör man en relation mellan 2 fält som inte är primärnycklar i 2 tabeller..det måste ju gå
------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 05 okt 2001]

[Redigerat av erka den 05 okt 2001]

LarsGMedlem sedan dec. 200012 465 inlägg
#7

Du får definiera ett unique constraint på kolumnen i topics.

------------------
essentitia preter non sans multiplicandum

erkaMedlem sedan dec. 19994 597 inlägg
#8

Tack lars G
------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

[Redigerat av erka den 05 okt 2001]

erkaMedlem sedan dec. 19994 597 inlägg
#9

Har stött på ett litet problem. Jag hade tänkt att använda en unique ident. som ett värde relaterat från 2 tabeller till en. Men vad jag förstår så får inte en unique identifier finnas på mer än ett ställe i hela db:n. Då kan man inte använda det värdet för att relatera till någon annan post. Jag skulle ju kunna lösa det genom att göra om den till en nvarchar (i tabellen de ska länkas i, attachedfiles) och sedan skrota relationen och göra relationen i själva asp:n och sätta in unique iden. värdet + filnamnet på filen i fältet jag gjort om till nvarchar. Plocka ut de första 16 tecken så har jag ju nummret.

Men det verkar inte smidigt, måste finnas något bättre sätt att göra det redan i db:n Någon som kan hjälpa med synpunkter och tipps?

------------------
Real mad hiphop flavaz kickin' it right from tha street without no FEAR, Yo !

LarsGMedlem sedan dec. 200012 465 inlägg
#10

Rent modelleringsmässigt så behöver du väl två olika tabeller för attachments och i så fall skulle du kunna skippa guidarna och använda vanliga heltal.

------------------
essentitia preter non sans multiplicandum

Genererad på 370 ms · cache AV · v20260730165559-full.f96bc7eb