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 has more target columns than expressions」というエラーが表示されました

ここに画像の説明を入力

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 に答える