23. september 2004 - 12:38
Der er
14 kommentarer og 2 løsninger
Alter table
Hej Jeg skal ha tilføjet en default værdi til en kolonne. Men databasen kører allerede og jeg vil helst ikke oprette den fra ny. Er det muligt at tilføje den via Alter table funktionen? Vi har prøvet at gøre det via enterprise manageren.. men det virker ikke :/
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
23. september 2004 - 12:50
#1
prøv med: alter table mytable alter column mycolumn varchar(10) default 'test';
23. september 2004 - 12:55
#2
Server: Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'default'.
23. september 2004 - 13:09
#3
Hej igen, Du er nødt til at lave en ny kolonne med din default-constraint, som du så må kopiere data over i. Hvis fx kolonnen id i tabellen test skal have default værdien 1: alter table test add id1 int NOT NULL constraint df_id DEFAULT 1 update test set id1=1 where id is null update test set id1=id where id is not null alter table test drop column id
23. september 2004 - 13:09
#4
sorry det var vidst et forsøg på et svar
23. september 2004 - 13:10
#5
hmm... der var vist noget med at default kun kan angives ved create af table, men der er stored procs til at oprette/slette defaults. jeg har dog ingen problemer med at tilføje/slette defaults i enterprise manager
23. september 2004 - 13:14
#6
veronica > det forstod jeg ikke ret meget af :D fsconsult.dk > jeg fandt den her: ALTER TABLE Elev ADD CONSTRAINT Mellemnavn DEFAULT '-' FOR Mellemnavn Men det virker ikke.. selvom den siger "Commands completed succesfully"
23. september 2004 - 13:18
#7
fsconsult.dk > jeg kan godt tilføje en default værdi.. men det virker bare ikke :/
23. september 2004 - 13:19
#8
bundgaard> prøv at kigge i Enterprise manager om der er kommet default på feltet. du skal dog være opmærksom på at default kun bliver brugt ved manglende/null værdi af Mellemnavn, og ikke ved et blank mellemnavn!
23. september 2004 - 13:20
#9
fsconsult.dk Hmm.. jeg får en værdi ind fra ASP og hvis der ikke bliver indtastet noget, er det vel en null værdi eller?
23. september 2004 - 13:22
#10
bundgaard> det kan ligesåvel være en tom streng ... tror du bliver nødt til at flytte default logikken til ASP. alternativt skal du lave en trigger som ændrer nulls OG blanke til din default værdi, men det er lidt overkill.
23. september 2004 - 13:30
#11
Hmm.. dvs der intet galt er i sql koden?
23. september 2004 - 13:42
#12
nej, og ellers skal ASP koden sende null til databasen ved en tom streng, men så kan den ligesågodt sende din default værdi istedet.
23. september 2004 - 13:52
#13
fsconsult.dk Så meget asp kan jeg ikke.. jeg sender bare hvad der bliver skrevet af brugeren
23. september 2004 - 22:20
#14
fsconsult > smid et svar.. så får du en bunke point :) fik rettet det.. lavede bare en test i asp, hvor den testede på om mellemnavn var = "".. og hvis den var det, skrev den en - ind :D
24. september 2004 - 07:55
#15
ok ;-)
24. september 2004 - 09:00
#16
Nupper halvdelen selv :)
Computerworld tilbyder specialiserede kurser i database-management