Size: a a a

pgsql – PostgreSQL

2020 July 22

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
чтобы, например, в одну таблицу добавили n записей, там у последней id = n, потом в другую добавили m записей, в которой id от n + 1 до n + m
Используйте общий sequence
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
Используйте общий sequence
ох, ок, будем гуглить что это и как заюзать) спс
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
ох, ок, будем гуглить что это и как заюзать) спс
Тоже самое что и обычный инкремент, или у вас identity columns?
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
Тоже самое что и обычный инкремент, или у вас identity columns?
ну его можно юзать как обычный id который PK ?
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
ну его можно юзать как обычный id который PK ?
Сейчас как сделано?)
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
чтобы, например, в одну таблицу добавили n записей, там у последней id = n, потом в другую добавили m записей, в которой id от n + 1 до n + m
Кстати то, что они будут последовательны и без пропусков база не гарантирует. Только уникальность
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anton Kodwi
всем привет. Можно ли как-то сделать числовой id таблицы глобальным по всей базе?
А зачем Вам это, в принципе?
Я к тому, что в норме никого не должно интересовать само значение id — sequence выдаёт что-то уникальное, да и ладно.
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
Сейчас как сделано?)
у меня 2 таблицы, одна "товары", другая "количество конкретного товара с определенными параметрами"

мне нужно реализовать артикулы, у товара свой и у каждой комбинации параметров этого товара - свой,
не обязательно без пропусков, главное уникальные числа, начиная с N.

первая мысль была такая: доп таблица с полями id, goodsId, parametersCountId, и из этой таблицы по id товара или комбинации параметров я вынимаю артикул (который есть просто id записи)
источник

AK

Anton Kodwi in pgsql – PostgreSQL
а потом подумал, что наверно можно просто в таблице товара добавить поле с числовым инкрементом, и в другую таблицу такое же поле, и главное чтобы между этими таблицами эти поля инкрементились уникально
источник

2_

2flower _ in pgsql – PostgreSQL
uuid не подходит?
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
у меня 2 таблицы, одна "товары", другая "количество конкретного товара с определенными параметрами"

мне нужно реализовать артикулы, у товара свой и у каждой комбинации параметров этого товара - свой,
не обязательно без пропусков, главное уникальные числа, начиная с N.

первая мысль была такая: доп таблица с полями id, goodsId, parametersCountId, и из этой таблицы по id товара или комбинации параметров я вынимаю артикул (который есть просто id записи)
сейчас на id у вас стоит default со следующим значением sequence?
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
сейчас на id у вас стоит default со следующим значением sequence?
сейчас у меня все id типа uuid, и оно не вариант, тк надо просто число для простоты ввода пользователем
источник

2_

2flower _ in pgsql – PostgreSQL
в чем проблема  сделайте из ввода пользователя uuid, огласите весь список пожалуйста.
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
сейчас у меня все id типа uuid, и оно не вариант, тк надо просто число для простоты ввода пользователем
uuid первичным ключем норм,  а что пользовательно может вводить, если вы последовательную нумерацию хотите?
источник

MD

Memory Doctor in pgsql – PostgreSQL
то есть это автоинкремент или ввод пользователем?
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
uuid первичным ключем норм,  а что пользовательно может вводить, если вы последовательную нумерацию хотите?
максимально простой вариант артикула - от 1 до n, где n количество товаров, каким по счету товар был добавлен в базу, такой и артикул
источник

MD

Memory Doctor in pgsql – PostgreSQL
Anton Kodwi
максимально простой вариант артикула - от 1 до n, где n количество товаров, каким по счету товар был добавлен в базу, такой и артикул
вы не отвечаете на вопрос)
источник

YS

Yaroslav Schekin in pgsql – PostgreSQL
Anton Kodwi
у меня 2 таблицы, одна "товары", другая "количество конкретного товара с определенными параметрами"

мне нужно реализовать артикулы, у товара свой и у каждой комбинации параметров этого товара - свой,
не обязательно без пропусков, главное уникальные числа, начиная с N.

первая мысль была такая: доп таблица с полями id, goodsId, parametersCountId, и из этой таблицы по id товара или комбинации параметров я вынимаю артикул (который есть просто id записи)
Да, можно сделать одну sequence для нескольких таблиц, в таком случае.
Учтите, что вставку дубликатов "вручную" так не предотвратить, конечно.
источник

AK

Anton Kodwi in pgsql – PostgreSQL
Memory Doctor
вы не отвечаете на вопрос)
автоинкремент, выставляться артикул должен автоматом при добавлении нового товара, а вот потом уже в поиске на сайте пользователь может по нему найти товар
источник

MD

Memory Doctor in pgsql – PostgreSQL
CREATE SEQUENCE table_name_id_seq;

CREATE TABLE table_name_1 (
   id integer NOT NULL DEFAULT nextval('table_name_id_seq')
);

CREATE TABLE table_name_2 (
   id integer NOT NULL DEFAULT nextval('table_name_id_seq')
);
ну вот 2 табдицы с общим автоинкрементом
источник