MySQL#1364 - 字段'column_name'没有默认值 - 无法插入到DB中

NIK*_*O_B 9 mysql default mysql-error-1364

我最近将我的MySQL数据库移动到一个新的服务器,它给了我一些我之前对MySQL有较新经验的问题.我的表列设置为"Default => None",我的表一直在生成默认值,具体取决于数据类型.但现在当我尝试插入表中我得到这个错误信息:"#1364 - 现场'列名’没有默认值",然后没有被插入到表中.

我该怎么做才能使"默认"选择它自己的价值?

Awe*_*Guy 11

它不会直接保存到数据库中,因为字段'column_name'(可能还有其他一些)被检查为"NOT NULL".这意味着该字段的值必须是NULL之外的其他值(NULL - 根本没有数据)

将字段标记为非空通常是确保某些数据始终存在于字段中的好方法.根据您的需要,您还可以将其标记为NULL,这样它就不会抛出错误并保存到DB中而无需将任何内容插入到指定的字段中.

这意味着你有2个选择:

  1. 将您的字段标记为NULL(首先检查您的字段是否需要具有某些值).

    ALTER TABLE your_table CHANGE COLUMN your_field your_fieldVARCHAR(250)NULL;

  2. 向字段添加默认值,因此如果插入时没有提供数据,则会放置您定义的内容.例如:

    ALTER TABLE your_tableCHANGE COLUMN your_field your_fieldVARCHAR(250)NOT NULL DEFAULT'some_default_value';

    当然,您的字段类型与您要改变的字段相匹配.