Alerte noob de base de données: j'essaie d'insérer dans une table postgres. Le champ que j'aimerais insérer s'appelle make_date
.
Le type de champ est timestamp without time zone NOT NULL
, Comment puis-je insérer la date d'aujourd'hui? Comme la date et l'heure actuelles? Quelque chose comme ci-dessous, mais je ne parviens pas à obtenir le bon format d'insertion de type de données pour dateTime.now
insert into inventory_tbl (make_date) values (dateTime.now)
En plus de la solution de C. Ramseyer (qui est juste), si vous voulez toujours (ou même généralement) que make_date
Soit la date de création de l'enregistrement, vous pouvez définir sa valeur par défaut sur now()
:
alter table inventory_tbl alter make_date set default now();
Ensuite, si vous ne l'incluez pas dans la liste des colonnes de votre insert, il sera automatiquement défini sur 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
Utilisez now()
ou CURRENT_TIMESTAMP
.