2009-02-11 12 views

risposta

78
ALTER TABLE tablename 
ALTER COLUMN columnname datatype NOT NULL 

È necessario accertarsi che la colonna non contenga valori NULL prima di eseguire questa operazione.

E.g.

ALTER TABLE orders 
ALTER COLUMN customer_id INT NOT NULL 
+3

Nota è necessario sostituire "tipo di dati" con il tipo di dati della colonna attuale , quindi potrebbe essere il seguente: ALTER TABLE clienti ALTER COLUMN address_id INT NOT NULL –

+0

@JohnZumbrum grazie per il commento. Ho modificato la risposta per mostrare un esempio. –

2

Si potrebbe anche voler aggiungere un contraint predefinito alla colonna.

11

Verificare innanzitutto che i campi abbiano valori non nulli. In questo caso sto lavorando con un campo che ha un nvarchar GUID così farò

UPDATE tablename 
SET fieldname = Newid() 
WHERE fieldname IS NULL; 

Poi come dice Adam Ralph

ALTER TABLE tablename ALTER COLUMN fieldname datatype NOT NULL 
Problemi correlati