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