表中的状态和错误字段?

时间:2017-06-17 18:11:19

标签: mysql database database-design error-handling status

我正在考虑使用好的表格设计来定义状态和错误(如果有的话)。

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

默认情况下,error值为null。

status字段中的值可能是以下之一:pending,in_queue,completed,error

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

例如:

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

1 个答案:

答案 0 :(得分:1)

我会选择:

  • 只有一个字段status可以挂起,in_queue,已完成,error_a,error_b,...如果您明智地选择了错误名称,则可以执行SELECT ... WHERE status LIKE 'error%'

  • 或两个字段,其中status可以处于待处理状态,in_queue和已完成,然后如果已完成,则error IS NULL表示没有错误,而error IS NOT NULL表示存在错误