0

我是 sql server 的新手,因为这是我客户的要求。由于出现有关 smalldatatime 的错误,我无法插入。我的查询有什么问题?我已经尝试了一切,但仍然给我错误。

以下是我尝试过的事情:

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, 2018-07-24 06:30:50.000)
SET IDENTITY_INSERT table1 OFF

我得到的错误:

消息 102,级别 15,状态 1,第 5 行“06”附近的语法不正确。

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, '2018-07-24 06:30:50.000')
SET IDENTITY_INSERT table1 OFF

我得到的错误:

消息 206,级别 16,状态 2,行 2 操作数类型冲突:int 与日期不兼容

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, 2018-07-24T06:30:50.000)
SET IDENTITY_INSERT table1 OFF

我得到的错误:

消息 102,级别 15,状态 1,第 5 行 'T06:' 附近的语法不正确

4

1 回答 1

2

正确的语法是第二个,但是您缺少VALUES关键字:

CREATE TABLE table1( id int IDENTITY(1,1) PRIMARY KEY, timelog smalldatetime NOT NULL ); 

SET IDENTITY_INSERT table1 ON
INSERT INTO table1
(id, timelog) values
(1, '2018-07-24 06:30:50.000')
SET IDENTITY_INSERT table1 OFF

select * from table1

结果:

在此处输入图像描述

于 2018-07-24T18:18:59.380 回答