一尘不染

MySQL#1364-字段“ column_name”没有默认值-无法插入数据库

mysql

最近,我将MySQL数据库移到了新服务器上,这给了我以前在MySQL上遇到的一些问题。我的表列设置为“默认=>无”,并且我的表已根据数据类型生成默认值。但是现在当我尝试插入表中时,出现以下错误消息:“#1364-字段’column_name’没有默认值”,然后没有任何内容插入表中。

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


阅读 348

收藏
2020-05-17

共1个答案

一尘不染

它没有明确地保存到数据库中,因为字段“ column_name”(可能还有其他字段)被检查为“ NOT
NULL”。这意味着该字段的值必须是非NULL的值(NULL-完全没有数据)

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

这意味着您有两个选择:

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

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

  1. 将默认值添加到该字段,以便在插入时未提供任何数据时,它将放置您定义的内容。例如:

ALTER TABLE your_tableCHANGE COLUMN your_field your_fieldVARCHAR(250)NOT
NULL默认值’some_default_value’;

当然,将您的字段类型与要更改的字段相匹配。

2020-05-17