更改 SQL 中的列属性

Alter column properties in SQL

我正在尝试更改现有 table 中列的数据类型。此列当前为空,但 table 具有依赖项,这使得删除并重新创建 table.

变得不切实际

table 目前看起来像:

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

我需要更改以下内容:

ALTER TABLE [dbo].[van_Payment]
ALTER COLUMN [Created] [smalldatetime] NOT NULL DEFAULT GETDATE(),
GO

我收到以下错误:

Msg 156, Level 15, State 1, Line 2 Incorrect syntax near the keyword 'DEFAULT'.

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

我认为无法使用 alter column 语法添加 default constraint。试试这个。

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];