#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/