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

标签 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是最佳实践?

最佳答案

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

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

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

关于mysql - update_date NOT NULL 约束的数据库表设计最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40168747/

相关文章:

sql - 如何强制Oracle不使用索引

sql - 使用 date_trunc 的缺点

PHP Postgres 约束违规 - 我可以以某种方式获取约束名称吗?

javascript - 如何使用 sequelize.js 查询特定 ID 以便我可以更新它

php - 嵌入带有地址的谷歌地图

php - MySQL PHP - 获取数据并以 HTML 格式呈现

Mysql + where子句匹配多行

java - 使用jpa从同一个选择同一个表mariadb的表中删除

c# - 字符串或二进制数据将在 Varbinary(MAX) 中被截断

php - 如果另一个表 ID 匹配则更新一个表