众所周知,在多列唯一索引上,如果值之一为NULL,则整个约束都将失效。有些人认为this should not be the behaviour,但其他人则认为这是处理此类情况的正确方法。
一个建议的解决方法,例如使用空字符串与非空字符串来处理此类情况。
我在模型上使用带有SoftDeletes的Laravel 5。在这种模式下,我有一个deleted_at
列,如果为NULL,则表示未删除;不为null时,表示该行已被删除的时间。但是,我不能使用建议的解决方法之类的默认值,因为它将被系统删除。
如何在Laravel或MySQL上解决此问题,以便可以将delete_at作为可为空的唯一索引?