Как указать, чтобы столбец был автоматически добавлен в pgAdmin?

Я начал изучать pgAdmin III для управления базой данных PostgreSQL. Но это было не простое приложение.

Если я создаю или создал таблицу с pgAdmin III, как добавить функцию «auto-increment» в идентификаторе столбца, который имеет тип integer?

10 голосов | спросил Jonas 17 FebruaryEurope/MoscowbThu, 17 Feb 2011 10:55:54 +0300000000amThu, 17 Feb 2011 10:55:54 +030011 2011, 10:55:54

2 ответа


12

два варианта: используйте «тип данных» SERIAL или создайте последовательность и использовать эту последовательность в качестве значения по умолчанию для вашего целого:

CREATE SEQUENCE your_seq;
CREATE TABLE foo(
  id int default nextval('your_seq'::regclass),
  other_column TEXT
);
INSERT INTO foo(other_column) VALUES ('bar') RETURNING *;
ответил Frank Heikens 17 FebruaryEurope/MoscowbThu, 17 Feb 2011 12:27:27 +0300000000pmThu, 17 Feb 2011 12:27:27 +030011 2011, 12:27:27
8

Если вы хотите сделать это в PGAdmin, это намного проще, чем использование командной строки. Кажется, что в PostgreSQL добавляется автоматическое приращение к столбцу, сначала нам нужно создать последовательность автоматического увеличения и добавить ее в требуемый столбец. Мне это понравилось.

1) Во-первых, вам нужно убедиться, что для вашей таблицы есть первичный ключ. Также сохраните тип данных первичного ключа в bigint или smallint. (Я использовал bigint, не мог найти тип данных, называемый серийным, как упоминается в других ответах в другом месте)

2) Затем добавьте последовательность, щелкнув правой кнопкой мыши по последовательности-> добавить новую последовательность .  Если в таблице нет данных, оставьте последовательность как есть, не вносите никаких изменений. Просто сохраните его. Если существуют существующие данные, добавьте последнее или самое большее значение в столбце первичного ключа в значение Текущее значение на вкладке «Определения», как показано ниже. «введите

3) Наконец, добавьте строку nextval('your_sequence_name'::regclass) к значению по умолчанию в вашем первичном ключе, как показано ниже.

 введите описание изображения здесь>> </a>
Убедитесь, что имя последовательности верное. Это все и автоматическое приращение должно работать. </p></body></html>

ответил toing_toing 30 +03002015-10-30T10:15:41+03:00312015bEurope/MoscowFri, 30 Oct 2015 10:15:41 +0300 2015, 10:15:41

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132