我有一个收集从我们网站提交的表单的表格,但由于某种原因,当他们创建表格时,他们没有在表格中添加时间戳。我想让它输入输入记录的确切日期和时间。

我知道它在那里的某个地方,但我似乎找不到如何设置默认值(就像在访问中,你使用getNow()或Now()),但我不知道把它放在哪里。


当前回答

在SQLPlus中,当创建一个表时,它就像as

SQL>创建表Test

 ( Test_ID number not null,
   Test_Date date default sysdate not null );

SQL> insert into Test(id) values (1);

 Test_ID Test_Date
       1 08-MAR-19

其他回答

这也可以通过SSMS GUI来完成。

将您的表放入设计视图(在对象资源管理器中右键单击表-> design) 向表中添加一个列(如果已经存在,则单击要更新的列) 在“列属性”中输入“默认值”或“(getdate())” 绑定字段如下图所示

在SQL Server中的该表中,指定该列的默认值为CURRENT_TIMESTAMP。 该列的数据类型可以是datetime或datetime2。

e.g.

Create Table Student
(
  Name varchar(50),
  DateOfAddmission datetime default CURRENT_TIMESTAMP
);

在SQLPlus中,当创建一个表时,它就像as

SQL>创建表Test

 ( Test_ID number not null,
   Test_Date date default sysdate not null );

SQL> insert into Test(id) values (1);

 Test_ID Test_Date
       1 08-MAR-19

这也是可行的:

CREATE TABLE Example(
...
created datetime default GETDATE()
);

Or:

ALTER TABLE EXAMPLE ADD created datetime default GETDATE();

这对我很有用……

ALTER TABLE [accounts] 
 ADD [user_registered] DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ;