What should I set DATE field as default value when NO_ZERO_DATE is enabled in MySQL?
There is no date 0000-00-00 on any calendar. It's not a valid value for a date.
Don't use 0000-00-00 or 1900-01-01 or 9999-01-01 or any other supposedly &quot;unused&quot; date value to represent a missing value. This just trades one type of problem for some different problem. For example, you can no longer use MIN() or MAX() or AVG() on that column.
If you need some way to represent that the date is unknown or inapplicable on a given row, then use NULL. That's what NULL is for in SQL.