【问题标题】:Alter column properties in SQL [duplicate]更改 SQL 中的列属性 [重复]
【发布时间】:2015-01-06 14:37:40
【问题描述】:

我正在尝试更改现有表中列的数据类型。此列当前为空,但表具有依赖关系,因此删除并重新创建表是不切实际的。

表格目前的样子:

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 关键字附近的语法错误 “默认”。

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

【问题讨论】:

    标签: sql sql-server


    【解决方案1】:

    我认为不可能使用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];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-05-27
      • 2014-03-23
      • 2014-06-07
      • 2015-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多