我最近将我的MySQL数据库移动到一个新服务器,它给了我一些我之前对MySQL有较新经验的问题。 我的表格列设置为“Default => None”,我的表格一直根据数据类型生成默认值。但现在当我尝试插入表中时,我收到此错误消息: “#1364 - 字段'column_name'没有默认值”,然后没有任何内容插入到表中。
如何让“默认”选择它自己的值?
答案 0 :(得分:10)
它不会直接保存到数据库中,因为字段'column_name'(可能还有其他一些)被检查为“NOT NULL”。这意味着该字段的值必须是其他值NULL(NULL - 根本没有数据)
将字段标记为非空通常是确保某些数据始终存在于字段中的好方法。根据您的需要,您还可以将其标记为NULL,这样它就不会抛出错误并保存到DB中而无需将任何内容插入到指定的字段中。
这意味着您有两个选择:
将您的字段标记为NULL(首先检查您的字段是否需要具有某些值)。
ALTER TABLE your_table
CHANGE COLUMN your_field
your_field
VARCHAR(250)NULL;
向字段添加默认值,因此如果插入时未提供任何数据,则会放置您定义的内容。 例如:
ALTER TABLE your_table
CHANGE COLUMN your_field
your_field
VARCHAR(250)NOT NULL DEFAULT'some_default_value';
当然,你的字段类型与你要改变的字段相匹配。