【发布时间】:2021-12-02 02:26:09
【问题描述】:
我需要添加一个包含这些详细信息的新列。
ADD [Revenue] decimal(10,6) NOT NULL
目前我的SQL脚本是这样的。
CREATE TABLE [dbo].[FlightTotal]
(
[FlightID] [int] NOT NULL,
[CreatedUserID] [bigint] NOT NULL,
[CreatedUTC] [datetime2](3) NOT NULL,
[ManualT] [smallint] NULL
CONSTRAINT [FlightTotal_PK]
PRIMARY KEY CLUSTERED ([FlightID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [UD01]
) ON [UD01]
GO
ALTER TABLE [dbo].[FlightTotal]
ADD CONSTRAINT [DF_FlightTotal_CreatedUTC]
DEFAULT (sysutcdatetime()) FOR [CreatedUTC]
GO
您知道如何更改当前表以便我可以插入新列吗?
【问题讨论】:
-
只要使用
alter table yourtable add column .... -
如果你的表中已经有行,你不能在不指定
DEFAULT值的情况下添加NOT NULL列 -
@Squirrel 是的,我的表中有行,怎么办??
-
如中所述,您需要指定
DEFAULT值示例:ALTER TABLE [FlightTotal] ADD [Revenue] decimal(10,6) NOT NULL DEFAULT 0。或添加为可空列,更新表并相应地设置值,然后将其更改为NOT NULL -
@Squirrel:你应该把它放在答案中。
标签: sql-server tsql