其实我有:CREATE TABLE public.user( id BIGSERIAL NOT NULL, nick VARCHAR(255) NOT NULL, email VARCHAR(255) NOT NULL, born DATE, joined DATE, tags text[]);我想选择最佳选项来节省注册时间和出生数据。我搜索了互联网,但没有找到任何好的结果。也许使用python中的时间更好,然后将其插入到postgres中?
3 回答

至尊宝的传说
TA贡献1789条经验 获得超10个赞
对于出生日期,您不需要一天中的时间,因此 aDATE
是合适的。
对于注册日期,您可能希望保存日期和时间。在这种情况下TIMESTAMP
会更合适。
避免使用VARCHAR
来存储日期。由于它不验证任何内容,因此它允许您存储错误信息,并且您将无法轻松计算关于它们的任何信息。例如:
错误的字符串值 #1::
35-jan-2017
此日期不存在。错误的字符串值 #2:
10-12-99
是 12 月 10 日还是 10 月 12 日?

四季花海
TA贡献1811条经验 获得超5个赞
首先,您需要定义更改数据库结构(添加或删除记录)的频率。我建议你使用 ORM 来完成像 SQLAlchemy 或 PonyORM 这样的样板任务,避免直接操作数据库。
回答您的问题:无论您想向任何字段添加时间戳,触发器通常对这项任务很有用。
你总是使用:
日期数据类型,用于不需要特定时刻的日期,例如生日日期、发布的帖子(在博客上)。
特定时刻的时间戳,例如在应用程序中注册、管理登录应用程序、交易记录等。
切勿合并两部分的代码,因此无论您决定从 Python 代码管理数据库,都应仅使用 Python 代码。
同样,无论您决定在数据库上管理表和操作,都只使用数据库中的触发器和对象来执行此任务。
我希望你的问题得到了回答!
添加回答
举报
0/150
提交
取消