Jag tror du kan skapa en kolumn av typen integer. Sedan:
Update tblTable set fldNyttfält = 1
Sedan ändrar du bara till BIT, efter det att du tagit bort bocken på tillåt nullvärden.
Mvh,
9 svar · 157 visningar · startad av HeHo
Har en tabell som innehåller x antal miljoner poster och nu i efterhand vill jag lägga till en kolumn i tabellen med datatypen bit. Saken är ju den att det blir NULL i den kolumen och det verkar ju inte funka......hur gör jag för att få 0 eller 1 på alla rader direkt när man skapar kolumen och går det överhuvudtaget?
Jag tror du kan skapa en kolumn av typen integer. Sedan:
Update tblTable set fldNyttfält = 1
Sedan ändrar du bara till BIT, efter det att du tagit bort bocken på tillåt nullvärden.
Mvh,
Tack för ett snabbt svar! Skall genast testa.
du kan väl sätta ett defaultvärde när du lägger till kolumnen
alter table ogrish add aleb bit default 0
Nä.....vad less jag blir! Först gjorde jag som @nders sa och det resulterade i att det blev en massa kolumner som inte innhöll någonting
Så efter att jag tagit in backupen och börjat om så testade jag LarsG´s tips. Det gick ju bättre, men default värdet skippar den och lägger in NULL istället. Kan tilläggas att jag har tillgång till SQL servern och kan jobba direkt i den. När man designar tabellen kan man ju oxå välja ett default värde, som inte heller fungerar..... Vad göra?? 
Jag har haft samma problem och fick till svar att det inte gick att fylla i defaultvärden i 7:an då man lade till en kolumn i efterhand så jag är oxå jättenyfiken på ett svar 
Nä.....vad less jag blir! Först gjorde jag som @nders sa och det resulterade i att det blev en massa kolumner som inte innhöll någonting
Usch! Nu blir jag verkligen lessen i ögat. Det var inte direkt meningen. 
Jag tror mig ha gjort enligt min beskrivning vid ett flertal tillfällen och lyckats bra.
Glad dock att du lyckades läsa tillbaka backupen. Puh! 
Backup skall man ta. 
Mvh,
Backup är bra 
Men du ska inte vara lessen i ögat @nders!
Måste erkänna att jag inte sagt hela sanningen... 
jag avbröt processen efter 15 tim när den inte var klar...
och då när jag kollade var allt borta. Men ack den som ger sig....jag har börjat om på en ny kula och nu tänker jag låta maskinen gå tills den är klar om det så ska ta hela helgen.


Nu efter 7,5 tim fick jag
felmeddelande:
The log file for database 'Bil' is full.
Back up the transaction log for the database to free up some log space.

Provat det här?
alter table ogrish add aleb bit;
update ogrish set aleb = 1;
alter table ogrish change aleb -- uppdatera aleb
aleb bit not null default 1; -- "döp om" till aleb, sätt defaultvärde