Вставка столбца идентификаторов AWS Redshift - значение идентификатора новых записей не превышает предыдущее максимальное значение идентификатора - PullRequest
0 голосов
/ 31 января 2019

Это мой первый пост на stackoverflow!Если я не смогу правильно следовать политике «задать вопрос», позвольте мне извиниться здесь.

С учетом сказанного я столкнулся с проблемой со столбцом «Идентичность» в AWS Redshift в связи сследующий пост, но другой вопрос:

Столбец идентификаторов не учитывается при вставке в () (Amazon Redshift)

Вопрос (Примеры предоставленыниже приведен «просто пример», чтобы проиллюстрировать проблему): «Если у меня есть max (identityColumn) = 100, для таблицы, содержащей 100 записей, почему новые записи, которые я вставляю позже, не будут иметь значение identityColumn больше, чем100? "

Ожидаемый результат: Если я добавлю 5 новых записей в новую таблицу, для identityColumn будут заданы значения" 101 "," 102 "," 103 "," 104 "," 105"

Фактический результат: новые записи имеют значения" 52 "," 57 "," 62 "...

Если я правильно понял из поста, который я вставил выше, столбец Идентичностьне всегда в последовательности или в последовательном порядке ... что нормально.Однако проблема, с которой я сталкиваюсь, заключается в том, что, когда я пытаюсь вставить новые записи, столбец идентификаторов не продолжается с последнего значения «max».

Вот небольшие примеры типа используемого кода:

--- ПРИМЕР 1 ---

- 1.Создайте новую таблицу со столбцом идентификаторов

CREATE TABLE newTable_With_Identity

( identityColumn bigint IDENTITY(1,1) ,column1 ,column2 ,column3 ,column4 ,column5 );

- 2.Вставьте данные из старой таблицы в новую таблицу идентификаторов

INSERT INTO newTable_With_Identity

( column1 ,column2 ,column3 ,column4 ,column5 ) (Select * from oldtable order by column3 asc);

--- ПРИМЕР 2 ---

(То же, что и выше, но с изменением последнего оператора выбора на следующее)

(Select * from oldtable order by column1, column2, column3 asc);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...