26. juni 2001 - 14:59Der er
8 kommentarer og 1 løsning
Autonummer forsvandt!!
Har en database på en MS SQL server. Efter noget vedlikehold på denne server er nogen felter i et par af tabellerne blevet omgjort fra BIGINT/AUTONUMMER til bare at være BIGINT. Det siger sig selv at dette giver problemer.
Så mit spørgsmål : Er det muligt at lave en \"ALTER TABLE\" på en måde, sådan at disse felter får sin autonummer funktion igen, og samtidig starter autonummer fra \"højeste verdi+1\"
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Det kan vel give problemer - det gør det i mysql :) Prøv derfor
Lav et nyt felt, som er primary key og autonummer, med et nyt navn. Opdater derefter med update tabelnavn set nytfelt=gammelfelt slet den gamle, og omdøb evt.
Nej nej, prøvede lige i Mysql. Så får du jo tal på feltet. Problemet er at et (i Mysql) felt som er autonummer skal være primary key, og så må den jo ikke starte med null-værdier, og heller ikke tal... hmm - prøver lige noget andet
ALTER TABLE test CHANGE COLUMN id INT(11) AUTO_INCREMENT
til at virke. Jeg får fejlen :
Microsoft OLE DB Provider for ODBC Drivers error \'80040e14\'
[Microsoft][ODBC SQL Server Driver][SQL Server]Incorrect syntax near the keyword \'COLUMN\'.
Men et alternativ er jo, som du siger, at oprette en ny kolonne, og kopiere alle IDer over i denne, og så slette den gamle kolonne. Men da må jeg ændre navnet på den nye kolonne, når jeg har slettet den gamle. Er det muligt?
Det hedder i hvert fald ikke auto_increment i MsSql. Resten af ALTER-syntaksen er så åbenbart også anderledes. Jeg ved ingenting om MsSql, men ville bare prøve at hjælpe dig i den rigtige retning.
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.