我在列名称中使用双引号,因为我的源数据具有名称相同但大小写不同的字段。因此,我在列名中添加了双引号以区别它们。
INSERT INTO ...
不能使用双引号引起来的列名。
create table CAPS_CHECK
(
"abc" string,
"ABC" string,
def string
);
insert into CAPS_CHECK
VALUES ( 'x', 'y', 'z' );
insert into CAPS_CHECK ("abc")
VALUES ( 'q' );
insert into CAPS_CHECK ("ABC")
VALUES ( 'r' );
到目前为止,一切都可以按预期进行(INSERT
能够区分“ abc”和“ ABC”),但是
insert into CAPS_CHECK ("abc", "ABC")
VALUES ( 'a', 'b' );
返回
SQL compilation error: duplicate column name 'ABC'
如何区分这些列名,以便可以在同一INSERT语句中同时使用它们?
(请注意,COPY INTO ...
也会发生同样的问题)