0

我使用以下代码创建了一个表,并使用 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 的目标列多于表达式

在此处输入图像描述

4

1 回答 1

1

在我看来,您在每个值之后都缺少逗号:

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 个没有逗号的值。

看看这是否有效。

于 2020-08-03T11:50:15.827 回答