我最近将 MySQL 数据库移至新服务器,这给我带来了一些我之前在使用 MySQL 时遇到的问题。 我的表列设置为“默认 => 无”,并且我的表已根据数据类型生成默认值。但现在,当我尝试插入表时,我收到此错误消息: “#1364 - 字段“column_name”没有默认值”,然后不会向表中插入任何内容。
我该怎么做才能让“默认”选择它自己的值?
最佳答案
它肯定不会保存到数据库中,因为字段“column_name”(也许还有其他一些字段)被检查为“NOT NULL”。这意味着该字段的值必须不是 NULL(NULL - 根本没有数据)
将字段标记为非空通常是确保某些数据始终存在于字段中的好方法。根据您的需要,您还可以将其标记为 NULL,这样它就不会抛出错误,并且会保存到数据库中,而不需要将任何内容插入到指定字段中。
这意味着你有两个选择:
将您的字段标记为 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';
当然,请将您的字段类型与您要更改的字段相匹配。
关于MySQL #1364 - 字段 'column_name' 没有默认值 - 无法插入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59761241/