我希望表中有一个新列,该列将显示插入的日期和时间,但不修改查询以包括该列本身。
我通过以下方式添加了新列:
ALTER TABLE DBO.HOURLYMODULETIMES
ADD CreateTime datetime DEFAULT NOT NULL getdate()
这会将值添加到以前的条目中,但是当我尝试将表插入到表中而不包括新列时
INSERT INTO DBO.HOURLYMODULETIMES VAlUES
(99999999,11111,2222,'JA')
表有5列ID,AVGMODULETIME,SUMHOURS,USERNAME和CreateTime(新添加)。我收到以下错误:
Column name or number of supplied values does not match table definition.
是否可以在不修改查询的情况下创建此类列?
答案 0 :(得分:0)
要在执行INSERT
时忽略其中的一列,必须立即指定这些列:
INSERT INTO DBO.HOURLYMODULETIMES (ID, AVGMODULETIME, SUMHOURS, USERNAME)
VALUES (99999999,11111,2222,'TEST')
始终执行此操作是一种好的编程习惯,因为表定义可能会随着时间而改变-正如您所注意到的!