Использование имен столбцов в команде Redshift COPY, которая является зарезервированным ключевым словом - PullRequest
0 голосов
/ 03 июля 2019

У меня есть таблица в красном смещении, где имена столбцов: «начало» и «конец».Это ключевые слова Redshift.Я хочу явно использовать их в команде Redshift COPY.Есть ли обходной путь вместо переименования имен столбцов в таблице.Это будет мой последний вариант.

Я пытался заключить их в одинарные / двойные кавычки, но похоже, что команда COPY принимает только имена столбцов, разделенные запятыми.

1 Ответ

0 голосов
/ 04 июля 2019

Команда копирования работает неудачно, если вы не экранируете ключевые слова в качестве имени столбца.например, begin или end.

copy test1(col1,begin,end,col2) from 's3://example/file/data1.csv' credentials 'aws_access_key_id=XXXXXXXXXXXXXXX;aws_secret_access_key=XXXXXXXXXXX' delimiter ',';

ОШИБКА: синтаксическая ошибка на или около "конца"

Но, он работает нормально, если beginи end заключены в двойные кавычки ("), как показано ниже.

copy test1(col1,"begin","end",col2) from 's3://example/file/data1.csv' credentials 'aws_access_key_id=XXXXXXXXXXXXXXX;aws_secret_access_key=XXXXXXXXXXX' delimiter ',';

Надеюсь, это поможет.Если есть какая-то другая ошибка, пожалуйста, обновите ваш вопрос.

...