table 中的状态和错误字段?

status and error fields in the table?

我正在尝试考虑好的 table 设计来定义状态和错误(如果有的话)。

例如,在 queue table 中,我正在考虑创建两个名为 statuserror 的字段。

默认情况下 error 值为空。

status 字段中的值可以是以下之一:待定、in_queue、已完成、错误

如果我在 status 字段中定义错误值 - 它不会告诉我它是什么类型的错误。我是否应该在 statuserror 中设置错误值来描述错误类型,例如:ftp_login_failed

例如:

update queue set status='error' error='ftp_login_failed' where id=5;

我会选择:

  • 只有一个字段,status 可以是未决的,in_queue,已完成的,error_a,error_b,...如果你select 明智地命名你的错误,你可以这样做 SELECT ... WHERE status LIKE 'error%'

  • 或者两个字段,其中status可以pending,in_queue和completed,然后如果completed那么error IS NULL表示没有错误,而error IS NOT NULL表示有错误。