Не могу дать свойство ПЕРВИЧНОГО КЛЮЧА в POSTGRES

#sql #postgresql

Вопрос:

Почему это не работает в точности?

 ALTER TABLE IF EXISTS public.post 
    ALTER COLUMN id TYPE INTEGER PRIMARY KEY
    OWNER to postgres;
 

Ошибка в том, что

синтаксическая ошибка в «ОСНОВНОМ»или рядом с ним

Комментарии:

1. Пожалуйста, никаких ссылок на изображения. Вам было бы так легко скопировать и вставить код и сообщение об ошибке сюда.

2. Вы читали руководство? Соответствует ли ваше утверждение синтаксису ALTER TABLE?

3. Да, я это сделал. Из официальных документов: «ИЗМЕНИТЬ ТАБЛИЦУ имя_таблицы ИЗМЕНИТЬ СТОЛБЕЦ имя_столбца ТИП column_definition»; и я сделал это, проблема в том, что он по какой-то причине не понимает первичный ключ.

4. Нет, это не так. И в руководстве не указано, что это правильный синтаксис.

5. Для чего? Изменение типа данных или определение основного? Смотрите ТАБЛИЦУ ИЗМЕНЕНИЙ для правильного синтаксиса

Ответ №1:

Синтаксис PostgreSQL выглядит следующим образом :

Попробуйте с этим:

 ALTER TABLE IF EXISTS public.post 
ADD PRIMARY KEY (id);
 

Документация : https://www.postgresqltutorial.com/postgresql-primary-key/