数据库表设计update_date NOT NULL约束的最佳实践

时间:2016-10-21 04:59:55

标签: mysql sql postgresql database-design

我的数据库表包含 updated_date 列,如下所示。

CREATE TABLE table_name
(
  id character varying(20) NOT NULL,
  created_date timestamp NOT NULL,
  updated_date timestamp,
  isactive smallint DEFAULT 1,
  version smallint NOT NULL DEFAULT 0,
  CONSTRAINT table_name_pkey PRIMARY KEY (id)
);

请建议updated_date timestamp NOT NULL是最佳做法?

1 个答案:

答案 0 :(得分:1)

这很大程度上取决于您将如何使用这些列。

我认为在创建记录时声明列NOT NULL并使用相同的created_dateupdated_date没有错(我会选择不包含“日期”的名称) )。

我认为,如果应用程序可以在不弯曲手臂的情况下使用列NOT NULL,这是一个好习惯(一个不好的例子是使用1970-01-01 00:00:00来表示缺失的数据)。它通常使查询更简单,因此如果它们不必处理NULL值就更有效。