Длина символа превышает длину DDL - PullRequest
0 голосов
/ 29 июня 2018

Я пытаюсь скопировать данные в красное смещение из корзины S3, однако я получаю код ошибки 1204 «длина символа превышает длину DDL».

copy table_name from '[data source]'
access_key_id '[access key]'
secret_access_key '[secret access key]'
region 'us-east-1'
null as 'NA'
delimiter ','
removequotes;

Ошибка возникает в самой первой строке, где она пытается поместить аббревиатуру состояния 'GA' в столбец data_state, который определен с типом данных char (2). Когда я запрашиваю таблицу stl_load_errors, я получаю следующий результат:

line_number  colname      col_length  type   raw_field_value  err_code  err_reason
1            data_state   2           char   GA               1204      Char length exceeds DDL length                                                                                                  

Насколько я могу судить, длина не должна превышать двух символов, и для него установлено значение char (2). Кто-нибудь знает, что может быть причиной этого?

Ответы [ 2 ]

0 голосов
/ 12 декабря 2018

Моя тоже это сделала, для колонки состояний тоже. Redshift по умолчанию использует char для char (1) - поэтому мне пришлось указать char (2) - вы уверены, что по умолчанию он не вернулся к char (1), потому что мой сделал

0 голосов
/ 29 июня 2018

Получил это, изменив тип данных на char (3), но все еще не уверен, почему char (2) не будет работать

...