我正在尝试在 SQL Server 表中插入当前日期。
我的表格包含 3 个文件:
CREATE TABLE [dbo].[MyTable]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
[Date] DATE
CONSTRAINT [DF_MyTable_Date] DEFAULT (getdate()) NOT NULL,
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ([Id] ASC)
)
当新用户想要在系统中注册时,只需输入自己的名字即可。
在我的表格中,ID 和日期都是自动生成的,但日期显示为
01/01/0001
而不是当前日期。
错在哪里?
如果您在 C# 中创建一个日期时间变量,如
var
today_date = new DateTime();
并执行
Console.WriteLine(today_date);
你可以看到它打印出来 0001-01-01
所以这是默认值 null..
使用
DBNull.Value
从 SQL NULL
插入 C#
并检查结果
不需要函数和触发器。只需将类型为
Date
或 DateTime
的列设置为 NOT NULL DEFAULT CURRENT_TIMESTAMP
。
更新了问题的示例代码:
CREATE TABLE [dbo].[MyTable]
(
[Id] INT IDENTITY (1, 1) NOT NULL,
[Name] NVARCHAR (50) NOT NULL,
[Date] DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP
CONSTRAINT [PK_MyTable] PRIMARY KEY CLUSTERED ([Id] ASC)
)