我正在使用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');
答案 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'