Форум программистов, компьютерный форум, киберфорум
PostgreSQL
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
 Аватар для Andrew_Montana
49 / 45 / 41
Регистрация: 12.10.2014
Сообщений: 234

Serial не работает

21.05.2017, 23:21. Показов 3392. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Таблица была создана следующим образом

SQL
1
2
3
4
5
6
7
8
CREATE TABLE schedule (
id SERIAL NOT NULL PRIMARY KEY,
time_visit TIME NOT NULL,
date_visit DATE NOT NULL,
employee_id INTEGER REFERENCES employee ON DELETE SET NULL,
client_id_list INTEGER ARRAY,
visit_type VARCHAR(45) NOT NULL
);
До этого момента данные заполнялись подобно:
SQL
1
2
INSERT INTO schedule(id, time_visit, date_visit, employee_id, client_id_list, visit_type) VALUES(1,'18:00:00','2017-03-03',7, '{10,12}','TEST');
-- ...........
Т.е. указывал id вручную. Сейчас пробую всё тоже самое, только не указываю id ( мне нужно чтобы он сам создавал следующий номер ), но ничего не компилится.
Или ничего не пишет или пишет подобные ошибки, например что такой id уже существует, он уникален и не может быть указан второй раз, иды постоянно перескакивают среди существующих, но он никак не хочет создавать уже новый, который идет после последнего созданного. Как можно решить эту проблему?
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
21.05.2017, 23:21
Ответы с готовыми решениями:

SERIAL не работает
Здравствуйте! Хочу создать id как primary key и чтобы был auto increment, в доке пишется что стоит просто написать SERIAL и все заработает,...

serial profile (bluetooth gps) - как работает?
уже час пытаюсь получить в терминале на компьютере вывод nmea сообщений с Digma BM100 делают ssreen для устройства, даже miniterm.py...

Serial to Wi-Fi
Требуется реализовать передачу данных с компа на МК по wifi, для этого был вабран модуль MT800SWM. Кто-нибудь сталкивался с подобной...

1
1264 / 978 / 384
Регистрация: 02.09.2012
Сообщений: 3,021
22.05.2017, 00:19
Лучший ответ Сообщение было отмечено Andrew_Montana как решение

Решение

Тип данных SERIAL - это на самом деле не настоящий тип данных, а это лишь указание базе данных сделать объект "последовательность" с именем "таблица_поле_seq" и назначить значение по умолчанию этому "полю" из последовательности.
То есть SERIAL при CREATE заменяется примерно на это

SQL
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE SEQUENCE public.test_table_id_seq
  INCREMENT 1
  MINVALUE 1
  MAXVALUE 9223372036854775807
  START 8
  CACHE 1;
 
CREATE TABLE public.test_table
(
  id INTEGER NOT NULL DEFAULT NEXTVAL('test_table_id_seq'::regclass),
  field1 NUMERIC(3,0),
  CONSTRAINT test_table_pkey PRIMARY KEY (id)
)
То есть поле SERIAL это самый обычный INTEGER, только назначено значение по умолчанию.
Не пользуетесь получением значения по умолчанию, последовательность не будет расти.

Что делать....??
Найти максимальное значение. И сделать ALTER SEQUENCE на это значение.
После этого продолжать пользоваться только последовательностью для получения значения для "id".
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.05.2017, 00:19
Помогаю со студенческими работами здесь

USB to serial
Доброе время суток. Возник вопрос, в инете так и не нашел ответ. Какие преимущества в использовании микроконтроллера(ATmega8U) для...

serial port
Здравствуйте. Использую стандартные классы .net для работы с ком портом. Работу с портом прослушал программой Portmon. Вот кусочек...

QT serial port
Здравствуйте! пытаюсь заставить работать ком порт в QT для начала решил попробовать простой пример ...

Proteus serial
День добрый. Можно ли в протее подключить эмулятор терминала (внешний или встроенный) в последовательным интерфейсам (UART, SPI,...

Эхо на Serial
Изучаю Arduino. Не могу понять почему не выводится число, которое ввожу. Объясните, пожалуйста. float grad; void setup() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru