Avatar billede Morten Nybegynder
28. maj 2009 - 16:19 Der er 4 kommentarer

Simpelt insert script

Hej

jeg mangler noget hjælp

I en eksisterende tabel skal jeg have indsat en unik id for alle poster - er der nogen der kan lave det script til mig - basen hedder brugerlog og feltet der skal have en fortløbende værdi hedder ID

Det er en MS SQL 2005 base
Avatar billede Hardball21 Nybegynder
28. maj 2009 - 19:26 #1
Nu skal Jeg jo ikke still dumme spørgsmål. men hvorfor er dit ID felt ikke lavet som et ID felt - MSSQL vil da lave en unik sekventiel værdi for hver ny post ??

Hvor skriver du dit script? direkte i SQL, PHP eller ... ?


Hvis Jeg nu går ud fra at du laver et eksternt skript ville jeg gøre det sådan:

1. Find højeste nuværende ID: "SELECT MAX(ID) AS X FROM brugerlog
2. Opret din nye post med ID = X+1



Er det sådan noget du leder efter?
Avatar billede Morten Nybegynder
28. maj 2009 - 20:44 #2
Det er da fint at spørge :O)

Det er fordi det er en base konverteret fra Access, jeg bruger stadig Access som frontend og af en eller anden grund kan jeg ikke tilføje poster til en tabel i Access medmindre der i tabellen er et nøglefelt, og dette fandtes ikke i denne tabel.

Men jeg fandt her på eksperten ud af at hvis man opretter ID felt så kan man jo få SQL til selv at indsætte Unikke IDer pr post og det som jeg ikke troede var muligt var at den sætte disse unikke ider på eksisterende poster, men det gjorde den - jeg poster lige den tråd hvor jeg fandt mit svar.
Avatar billede arne_v Ekspert
03. juli 2009 - 22:29 #3
IDENTITY må klart være løsningen.

SELECT MAX(id) er ikke flerbruger sikker !
Avatar billede PFD Nybegynder
07. august 2009 - 13:36 #4
alter table [tablename] add id int identity(1,1)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester