Почему мой psql (postgreSQL) не вводит адрес электронной почты и пароль - PullRequest
0 голосов
/ 03 августа 2020

Я создал таблицу, используя следующий код, и я шифрую пароль с помощью bf.

CREATE EXTENSION pgcrypto;
CREATE TABLE auth (
  id SERIAL PRIMARY KEY,
  name TEXT NOT NULL,
  dob DATE NOT NULL,
  email TEXT NOT NULL UNIQUE,
  password TEXT NOT NULL
);

После этого Если я попытаюсь ВСТАВИТЬ данные, используя следующее -:

INSERT INTO auth (name, dob, email, password) VALUES (
  'Divyansh'
  '1995-09-21'
  'divyanshkumar@gmail.com',
  crypt('password', gen_salt('bf'))
);

Я получил ошибку " INSERT имеет больше целевых столбцов, чем выражения "

введите описание изображения здесь

1 Ответ

1 голос
/ 03 августа 2020

Мне кажется, вам не хватает запятых после каждого значения:

INSERT INTO auth (name, dob, email, password) VALUES (
'Divyansh', # <--- comma here
'1995-09-21', # <--- comma here
'divyanshkumar@gmail.com',
crypt('password', gen_salt('bf'))
);

Это указывает на то, что targets больше, чем expression, он фактически видит 2 значения без запятых.

Посмотрим, работает ли это.

...