有没有一种方法可以使MySQL在枚举字段设置为无效值时默认为NULL?
此外,我能否指定一个HTML表单中的值,以便在保存到数据库时将其存储为空值?我不想进行任何检查,例如“如果是空字符串,则保存为空”。如果可能的话,这是一个好主意吗?是否存在安全问题?
我的情况是:我有一个HTML下拉菜单,其中包含一个“null”选项,后跟与DB的枚举相对应的项目列表。当选择并保存null选项时,我希望它在DB中反映为NULL。现在,它被转换为空字符串,如下所示: “如果将无效值(即未出现在允许值列表中的字符串)插入ENUM,则插入空字符串作为特殊错误值。该字符串可以通过该字符串具有数字值0来与“正常”空字符串区分开来。”
此外,我能否指定一个HTML表单中的值,以便在保存到数据库时将其存储为空值?我不想进行任何检查,例如“如果是空字符串,则保存为空”。如果可能的话,这是一个好主意吗?是否存在安全问题?
我的情况是:我有一个HTML下拉菜单,其中包含一个“null”选项,后跟与DB的枚举相对应的项目列表。当选择并保存null选项时,我希望它在DB中反映为NULL。现在,它被转换为空字符串,如下所示: “如果将无效值(即未出现在允许值列表中的字符串)插入ENUM,则插入空字符串作为特殊错误值。该字符串可以通过该字符串具有数字值0来与“正常”空字符串区分开来。”