2012-03-20 23 views
16

Ho una tabella in MSSQL che ha una colonna in cui il valore non può essere nullo. Ma ci sono le operazioni di aggiornamento in cui voglio impostare quella colonna su null quando aggiorno le altre colonne. C'è un modo per ottenere questo, o dovrei ricreare la tabella, permettendo alla colonna di assumere valori nulli.Aggiornamento SQL per consentire valori nulli

risposta

45

Si dovrebbe consentire null per la colonna: alter table T1 alter column C1 int null

0

Sarà necessario aggiornare lo schema. Non c'è altro modo. Questa è la ragione per i vincoli. È possibile eseguire una modifica per evitare di ricreare completamente la tabella se si dispone di dati che non andrebbero persi, ovvero

1

Probabilmente si potrebbe fare qualcosa di simile:

"ALTER TABLE table ADD COLUMN newcolumn VARCHAR(255)" 
    "UPDATE TABLE table SET newcolumn = oldcolumn" 
    "ALTER TABLE table DROP COLUMN oldcolumn" 
    "ALTER TABLE table ADD COLUMN oldcolumn VARCHAR(255)" 
    "UPDATE TABLE table SET oldcolumn = newcolumn"