Установил базу данных postgresql13. установил pgadmin3. Создал базу данных.
Хочу создать таблицу в базе данных lesson, но вылазит ошибка. Мне нужно сделать именно так, как я это делал в mysql/phpmyadmin. Потому что там у меня работало, а postgre я раньше не использовал. Прошу помочь.
На phpmyadmin выглядела таблица, которую я создавал таким образом:
Имя | Тип | Длина/Значения | По умолчанию | Сравнение | Атрибуты | Null | Индекс | A_I | Комментарии |
---|---|---|---|---|---|---|---|---|---|
user_id | INT | 11 | Нет | Primary | A_I | ||||
username | VARCHAR | 60 | Нет | utf8_general_ci | — | ||||
password | VARCHAR | 60 | Нет | utf8_general_ci | — | ||||
На pgadmin3 таблица выглядит так:
Column | Тип | Длина/Значения | Not Null | Уникальный ключ | Первичный ключ | По умолчанию | Комментарии | ||
---|---|---|---|---|---|---|---|---|---|
user_id | integer | 11 | Да | Да | |||||
username | character varying | 60 | Да | ||||||
password | character varying | 60 | Да | ||||||
Ошибка выглядит так:
Ошибка SQL:
ERROR: syntax error at or near "("
LINE 1: CREATE TABLE "public"."signup" ("user_id" integer(11), "user...
^
В операторе:
CREATE TABLE "public"."signup" ("user_id" integer(11), "username" character varying(60), "password" character varying(60), PRIMARY KEY ("user_id")) WITHOUT OIDS
Пробовал через postgre в консоли, тоже самое:
postgres=# CREATE TABLE signup (
user_id int(11) PRIMARY KEY,
username character varying(60),
password character varying(60),
);
ERROR: syntax error at or near "("
СТРОКА 2: user_id int(11) PRIMARY KEY,
^
Да, я вижу, что проблема где-то с последовательным типом данных. Я пробовал заменить на SERIAL , но в любом случае после создания таблицы не было доступа к бд/таблице. ЧЯДНТ?
//Тег freebsd будет лишним, но если это важно, то события происходят на ос freebsd в jail, все это на устройстве raspberry_pi. В моём случае pgadmin4/phppgadmin конфликтует с бинарными пакетами малины, которые были собраны заранее для nginx и другого добра, поэтому я поставил именно pgadmin3.