为什么我的psql(postgreSQL)不插入电子邮件和密码

时间:2020-08-03 11:43:58

标签: postgresql insert cryptography psql pgcrypto

我已使用以下代码创建了一个表,并使用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'))
);

我收到错误消息“ 插入的目标列多于表达式

enter image description here

1 个答案:

答案 0 :(得分: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'))
);

它确实指出targetsexpression多,它有效地看到了2个没有逗号的值。

看看是否可行。

相关问题