在SQL中更改列属性

Kev*_*ltz 0 sql sql-server

我正在尝试更改现有表中列的数据类型.此列当前为空,但该表具有依赖关系,这使得删除和重新创建表不切实际.

该表目前看起来像:

CREATE TABLE [dbo].[van_Payment](
    [PaymentUID] [int] IDENTITY(1,1) NOT NULL,
    [SponsorshipUID] [int] NOT NULL,
    [PaymentMethodUID] [int] NOT NULL,
    [Amount] [int] NOT NULL,
    [Created] [int] NOT NULL, 
 GO
Run Code Online (Sandbox Code Playgroud)

我需要更改以下内容:

ALTER TABLE [dbo].[van_Payment]
ALTER COLUMN [Created] [smalldatetime] NOT NULL DEFAULT GETDATE(),
GO
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

消息156,级别15,状态1,行2关键字'DEFAULT'附近的语法不正确.

任何有关正确语法的帮助将不胜感激.

Pரத*_*ீப் 5

我认为不可能添加default constraint使用alter column语法.试试这个.

ALTER TABLE [dbo].[van_Payment]
ALTER COLUMN [Created] [smalldatetime] NOT NULL 
GO

ALTER TABLE dbo.[van_Payment] ADD CONSTRAINT DF_Created DEFAULT getdate() FOR [Created];
Run Code Online (Sandbox Code Playgroud)