2013-03-20 1 views
18

データベースnoobアラート: 私はpostgresテーブルに挿入しようとしています。 私が挿入したいフィールドはmake_dateです。タイムゾーンなしのデータ型タイムスタンプのpostgresに文を挿入NOT NULL、

フィールドのタイプはtimestamp without time zone NOT NULL, です。ここに今日の日付を挿入するにはどうすればよいですか?今の日時と同じですか?以下のような何かが、私はdateTime.now

insert into inventory_tbl (make_date) values (dateTime.now) 
+3

'inventory_tbl(make_date)VALUES(NOW())に挿入;'? – wildplasser

答えて

19

、:

alter table inventory_tbl alter make_date set default now(); 
あなたは、インサートの列のリストに含めない場合はその後、それが自動的に now()に設定されます

test=> insert into inventory_tbl (name) values ('brick'), ('sand'), ('obsidian') returning *; 
     make_date   | name 
----------------------------+---------- 
2013-03-21 09:10:59.897666 | brick 
2013-03-21 09:10:59.897666 | sand 
2013-03-21 09:10:59.897666 | obsidian 
(3 rows) 

INSERT 0 3 
20

使用now()またはCURRENT_TIMESTAMPのための右のデータ型の挿入フォーマットを取得することができません。あなたは常に(あるいは通常)がmake_dateは、レコードが作成された日付になりたい場合は、あなたがnow()にデフォルトを設定することができます(右)とC. Ramseyerのソリューションに加えて