にTIMESTAMPフィールドにNULL値を挿入する。)は私がORMを使用してPostgreSQLでは複製されたMySQLで次のDBスキーマ有するpostgreqSQL
CREATE TABLE IF NOT EXISTS users (
id BIGINT NOT NULL DEFAULT NEXTVAL ('users_seq'),
email VARCHAR(255) NOT NULL DEFAULT '',
password VARCHAR(255) NOT NULL DEFAULT '',
last_name VARCHAR(255) NOT NULL DEFAULT '',
first_name VARCHAR(255) NOT NULL DEFAULT '',
created TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
updated TIMESTAMP(0) NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
と、
そして、私はこれは予想される動作は、値がNULLである場合には現在のタイムスタンプを持つことであり、それ
ERROR: null value in column "created" violates not-null constraint
エラーになり、次のクエリ
INSERT INTO users (id, email, password,first_name, last_name, created, updated)
VALUES (1, '[email protected]', 'pass', 'user', 'user', NULL, NULL);
を実行しようとしていますMySQLで動作します
私はPostgreSQL 10を使用しています。構成が不足していますか、これはPostgresでサポートされていませんか?
タグからポストグルを削除してください。デフォルト値が必要な場合は、リストから列をスキップします。明示的に 'NULL'を指定した場合、' DEFAULT'ではなくNULLになります。 –
は 'created'と' updated'フィールドにnullを許可します。 null不可能なフィールド。挿入クエリにこのフィールドがない場合は、デフォルトのみが挿入されます – Bharat
@VaoTsunなぜpostgresタグを削除しますか?これはmysqlでサポートされています。この問合せはORMライブラリから生成されます。 – Anuruddha