我正在考虑使用好的表格设计来定义状态和错误(如果有的话)。
例如,在queue
表中,我正在考虑创建两个名为status
和error
的字段。
默认情况下,error
值为null。
status
字段中的值可能是以下之一:pending,in_queue,completed,error
如果我在status
字段中定义错误值 - 它不会告诉我它是什么类型的错误。我应该在status
和error
中设置错误值来描述错误类型,例如:ftp_login_failed
例如:
update queue set status='error' error='ftp_login_failed' where id=5;
答案 0 :(得分:1)
我会选择:
只有一个字段status
可以挂起,in_queue,已完成,error_a,error_b,...如果您明智地选择了错误名称,则可以执行SELECT ... WHERE status LIKE 'error%'
或两个字段,其中status
可以处于待处理状态,in_queue和已完成,然后如果已完成,则error IS NULL
表示没有错误,而error IS NOT NULL
表示存在错误