2009-02-11 12 views

Respuesta

78
ALTER TABLE tablename 
ALTER COLUMN columnname datatype NOT NULL 

Obviamente tendrá que asegurarse de que la columna no contiene ningún valor NULO antes de hacer esto.

E.g.

ALTER TABLE orders 
ALTER COLUMN customer_id INT NOT NULL 
+3

Nota debe reemplazar "tipo de datos" con el tipo de datos de columna real , por lo que podría verse así: ALTER TABLE clientes ALTER COLUMN address_id INT NOT NULL –

+0

@JohnZumbrum gracias por el comentario. He editado la respuesta para mostrar un ejemplo. –

2

Es posible que también desee agregar un contraint predeterminado a la columna.

11

Primero asegúrese de que los campos no tengan valores nulos. En este caso estoy trabajando con un campo que tiene un GUID nvarchar por lo que voy a hacer

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

Entonces, como dice Adam Ralph

ALTER TABLE tablename ALTER COLUMN fieldname datatype NOT NULL 
Cuestiones relacionadas