更改 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];
我正在尝试更改现有 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];