在SQL Server中创建带时间的时间

在SQL Server中创建带时间的时间,sql,sql-server,Sql,Sql Server,我是新来的请任何帮助都会很好!我正在为一家学校信用卡公司创建一个日期仓库,在这个表中,它要求表事务具有以下日期、时间、金额和授权代码。这是我到目前为止为这张桌子准备的东西 CREATE TABLE transactions ( trans_date DATE PRIMARY KEY NOT NULL, trans_time DATETIME NOT NULL, trans_amount DECIMAL NOT NULL, auth_code VARCHAR(15)

我是新来的请任何帮助都会很好!我正在为一家学校信用卡公司创建一个日期仓库,在这个表中,它要求表事务具有以下日期、时间、金额和授权代码。这是我到目前为止为这张桌子准备的东西

CREATE TABLE transactions (
    trans_date DATE PRIMARY KEY NOT NULL,
    trans_time DATETIME NOT NULL,
    trans_amount DECIMAL NOT NULL,
    auth_code VARCHAR(15) NOT NULL
);

INSERT INTO transactions VALUES ('1984-12-15', '2000-03-15 11:15:23', 200.00, 'IH1546');
INSERT INTO transactions VALUES ('2001-01-22', '2014-05-15 12:45:20', 300.00, 'IH2563');
INSERT INTO transactions VALUES ('1998-10-30', '2017-01-14 13:11:45', 400.00, 'IH4457');
INSERT INTO transactions VALUES ('2003-02-11', '2007-10-28 09:05:56', 500.00, 'IH8977');
INSERT INTO transactions VALUES ('1985-12-23', '2009-06-29 16:37:03', 600.00, 'IH9975');

SELECT *
FROM transactions;
我遇到的问题是

Msg 273,16级,状态1,第18行 无法在时间戳列中插入显式值。在列列表中使用INSERT可排除timestamp列,或在timestamp列中插入默认值


有没有人能帮我或带我完成我需要做的事情呢?我已经在网上搜索了两天,没有找到任何接近我需要的东西。每个记录中都应该有不同的时间?

您的表没有
时间戳
列,因此不清楚这可能来自何处。你桌上有触发器吗?我知道这听起来很愚蠢,所以请耐心听我说,什么是触发器?那么,你确定要使用日期作为主键吗?您每天只允许一个事务?我怀疑您的数据库中可能有一个旧版本的
事务。请尝试
删除表事务
,然后用上面的
create
语句重新创建它。@Blorgbeard我想是这样的,因为列出的每个记录都是来自不同的个体