valor una tabla por modificar insertar entre eliminar defecto con como columnas columna campos campo alterar agregar sql sql-server alter-table alter-column

por - insertar campos en una tabla sql



Cambiar una columna Nullable a NOT NULL con valor predeterminado (4)

Hoy encontré una tabla vieja con una columna de fecha y hora llamada ''Creado'' que permite nulos. Ahora, me gustaría cambiar esto para que NO sea NULO, y también incluir una restricción para agregar un valor predeterminado (getdate ()).

Hasta ahora tengo el siguiente script, que funciona bien siempre que haya limpiado todos los nulos de antemano:

ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL

¿Hay alguna forma de especificar también el valor predeterminado en la instrucción ALTER?


Creo que deberás hacer esto como tres declaraciones separadas. He estado mirando alrededor y todo lo que he visto parece sugerir que puedes hacerlo si estás agregando una columna, pero no si estás modificando una.

ALTER TABLE dbo.MyTable ADD CONSTRAINT my_Con DEFAULT GETDATE() for created UPDATE MyTable SET Created = GetDate() where Created IS NULL ALTER TABLE dbo.MyTable ALTER COLUMN Created DATETIME NOT NULL


Es posible que primero tenga que actualizar todos los registros que son nulos al valor predeterminado y luego usar la declaración alter table.

Update dbo.TableName Set Created="01/01/2000" where Created is NULL


Si su SQL Server puede hacerlo en las propiedades de la columna dentro de la vista de diseño

¿Prueba esto?:

ALTER TABLE dbo.TableName ADD CONSTRAINT DF_TableName_ColumnName DEFAULT ''01/01/2000'' FOR ColumnName


necesita ejecutar dos consultas:

Uno: para agregar el valor predeterminado a la columna requerida

ALTER TABLE ''Table_Name` ADD DEFAULT'' value ''FOR'' Column_Name ''

Quiero agregar el valor predeterminado a la columna IsDeleted de la siguiente manera:

Ejemplo: ALTER TABLE [dbo]. [Employees] ADD Default 0 for IsDeleted

Dos: para alterar el valor de la columna nulable a no nulo

ALTER TABLE ''table_name'' ALTER COLUMN ''column_name'' ''data_type'' NOT NULL

quiero hacer que la columna IsDeleted no sea nula

ALTER TABLE [dbo]. [Empleados] Alterar columna IsDeleted BIT NOT NULL