通过Databricks将值插入具有Identity列的表中

时间:2018-11-17 05:15:11

标签: sql hive databricks

我已经在Databricks中创建了一个表,该表映射到Azure SQL DB中托管的表。我正在尝试在一张小桌子上做一个非常简单的插入语句,但是标识列给了我一些问题。该表具有上述标识列和其他三个列。

我首先尝试了类似以下的内容:

%sql

INSERT INTO tableName (col2, col3, col4)
VALUES (1, 'Test Value', '2018-11-16')

这给了我一个语法错误,因此我进行了一些搜索,发现Hive SQL不允许您为INSERT语句指定列。因此,我尝试了如下所示的测试:

%sql

INSERT INTO tableName
VALUES (100, 1, 'Test Value', '2018-11-16')

这给了我一条错误消息,提示我无法将显式值插入到Identity列中,但这正是我所期望的。

如果我无法为INSERT语句指定列,那么在拥有标识列时如何避免出现问题?我只想为非标识列插入值,并且我希望ID列像往常一样继续递增。上面的例子非常浪费。我最终将需要基于SELECT语句进行更大的插入,因此任何涉及切换IDENTITY_INSERT的解决方案都可能不可行。

0 个答案:

没有答案
相关问题