无法将值插入到创建的表中

时间:2019-10-09 06:07:01

标签: sql sql-server sql-insert

我正在使用Microsoft SQL Server2014。已在数据库[WORKER]中创建了一个表[ORG]。现在,我试图在每个指定列的[WORKER]表中插入一些值,但不允许这样做。有人知道吗?

INSERT INTO WORKER (WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) 
VALUES (001, 'Monika', 'Arora', 100000, '14-02-20 09.00.00', 'HR');

Query and Columns

VARCHAR DATE PROBLEM

5 个答案:

答案 0 :(得分:0)

您不能在身份列中插入任何值

当您检查ISIDENTITY属性为YES时,它会自动增加

尝试一下

ResignTxn

5这是意大利约会的风格。好吧,不仅是意大利人,而且这是它应归因于的文化

答案 1 :(得分:0)

您已将Worker_Id设置为标识列。因此,sql将不允许您在此列中插入值。当您在其他列中插入数据时,将自动创建其值。

如果要在身份列中插入自己的值,则在插入之前,您需要允许在表中插入身份,例如以下查询:

SET IDENTITY_INSERT WORKER ON;

INSERT INTO WORKER(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) 
VALUES (1, 'Monika', 'Arora', 100000, '14-02-20 09.00.00', 'HR');

SET IDENTITY_INSERT WORKER Off;

答案 2 :(得分:0)

我不确定该解决方案是否会有所帮助,因为不会显示整个错误消息!

但希望它应该能工作。出现错误消息是因为您尝试在Identity列中插入值,即WORKER_ID,在sql中,identity列的值会自动增加。

您可以尝试将IDENTITY_INSERT设置为OFF

最终查询

INSERT INTO WORKER (WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) 
VALUES (001, 'Monika', 'Arora', 100000, '14-02-20 09.00.00', 'HR')
SET IDENTITY_INSERT WORKER OFF 

希望有帮助,请告诉我它是否有效。

答案 3 :(得分:0)

如果您还希望使用身份列,则还必须先禁用identity_insert

尝试:

SET IDENTITY_INSERT WORKER ON;
INSERT INTO WORKER(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) 
VALUES (001, 'Monika', 'Arora', 100000, (convert(datetime,'14-02-20 09:00:00',5)), 'HR');
SET IDENTITY_INSERT WORKER Off;

答案 4 :(得分:0)

请尝试使用日期格式为'2019-10-09 00:21:14.480'