One of MySQL’s field data types is ENUM. After setting a default value for this field, why does it not automatically populate the default value after newly inserting data?

  mysql, question

For example, I designed such a field in a table, and the enumeration set is('used','receive','invalid','deleted'), the default field receive is set, and the setting is not empty. The sql statement is as follows:

`status`enum ('used',' received',' invalid',' deleted') characterssetutf8collatetf8 _ unicode _ cinotnull default' received' comment' usage status'

When I actually inserted the data, I did not set the value of this field. As a result, the insertion was successful. However, when I looked at the inserted data, I found that the value of this field was empty. Did I set the default value and he would not automatically fill in receive? Also, I set non-blank before, and the field is blank, but the insertion was successful. Why is this?

Have you used ORM to see if the model in your ORM is configured with default values

Post your show create table results.
Paste the sql statement that you failed to insert