私は列として定義されています:値が自動生成されないのはなぜですか?
DBD::Pg::st execute failed: ERROR: null value in column "uuid" violates not-null constraint
コード::私はエラーを取得するNULL
値を挿入しようとすると、
not null default uuid_generate_v4()
INSERT INTO files(uuid, storage, type, user_id, extra)
VALUES(?,?,?,?,?)
ON CONFLICT(uuid) DO UPDATE SET
storage = EXCLUDED.storage,
type = EXCLUDED.type,
user_id = EXCLUDED.user_id,
extra = EXCLUDED.extra
RETURNING *
SQL
,$self->{ uuid }
,$self->storage .""
,ref $self
,$self->{ owner_id }
,JSON::XS->new->allow_nonref->encode($args{ extra } // {})
を私は混乱しています。 $self->{ uuid }
がまだ定義されていない場合、新しい行を作成する方法。そして、どのように$self->{ uuid }
が
を使用
uuid
フィールドを省略しなければなりません。 –'default'を起動させたい場合は、' uuid'カラムをターゲットリストから削除してください。でも、とにかく矛盾が生じることはありません。 –
@a_horse_with_no_name:私の場合は 'UPDATE OR INSERT'を行う方法はありますか? ? –