Створіть автоматичний інкрементний первинний ключ у postgresql, використовуючи власну послідовність:
Крок 1, створіть свою послідовність:
create sequence splog_adfarm_seq
start 1
increment 1
NO MAXVALUE
CACHE 1;
ALTER TABLE fact_stock_data_detail_seq
OWNER TO pgadmin;
Крок 2, створіть свою таблицю
CREATE TABLE splog_adfarm
(
splog_key INT unique not null,
splog_value VARCHAR(100) not null
);
Крок 3, вставити у свою таблицю
insert into splog_adfarm values (
nextval('splog_adfarm_seq'),
'Is your family tree a directed acyclic graph?'
);
insert into splog_adfarm values (
nextval('splog_adfarm_seq'),
'Will the smart cookies catch the crumb? Find out now!'
);
Крок 4, спостерігайте за рядами
el@defiant ~ $ psql -U pgadmin -d kurz_prod -c "select * from splog_adfarm"
splog_key | splog_value
----------+--------------------------------------------------------------------
1 | Is your family tree a directed acyclic graph?
2 | Will the smart cookies catch the crumb? Find out now!
(3 rows)
Два ряди мають клавіші, які починаються з 1 і збільшуються на 1, як визначено послідовністю.
Bonus Elite ProTip:
Програмісти ненавидять вводити текст, а набирати текст - nextval('splog_adfarm_seq')
це дратує. Ви можете DEFAULT
замість цього ввести цей параметр, наприклад:
insert into splog_adfarm values (
DEFAULT,
'Sufficient intelligence to outwit a thimble.'
);
Щоб вищезазначене працювало, потрібно визначити значення за замовчуванням для цього стовпця ключів у таблиці splog_adfarm. Що гарніше.