【发布时间】:2015-01-13 15:29:27
【问题描述】:
我有以下 SQL 来创建表,但第一个 CONSTRAINT 中的“DEFAULT”给了我一个错误:“默认约束只能存在于 CREATE 或 ALTER TABLE 语句中的列级别。”
我以前从未使用过默认值,因此我通过互联网研究对此进行了一些调查,但没有任何东西可以帮助我解决错误,甚至没有向我真正解释过。
CREATE TABLE [RuleEngine].[NCCIImportHistory](
[NCCIImportHistoryID] [int] IDENTITY(1,1) NOT NULL,
[StartTime] [datetimeoffset](7) NOT NULL,
[EndTime] [datetimeoffset](7) NOT NULL,
[CreatedOn] [datetimeoffset](7) NOT NULL,
[CreatedBy_UserID] [int] NOT NULL,
CONSTRAINT [DF_NCCIImportHistory_CreatedOn] DEFAULT (getutcdate()) FOR [CreatedOn],
CONSTRAINT [FK_NCCIImportHistory_User_CreatedBy] FOREIGN KEY([CreatedBy_UserID]) REFERENCES [Security].[User] ([UserID]),
CONSTRAINT [PK_NCCIImportHistoryID] PRIMARY KEY CLUSTERED ([NCCIImportHistoryID] ASC)
WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]) ON [PRIMARY]
【问题讨论】:
-
请指定 dbms。 (这看起来不像 ANSI/ISO SQL...)顺便说一句,我猜你做了类似列名数据类型 DEFAULT 值...
-
对不起。它是 MS SQL Server
标签: sql sql-server tsql constraints default