MySQL #1364 - 字段 'column_name' 没有默认值 - 无法插入数据库
MySQL #1364 - Field 'column_name' doesn't have a default value - Can't insert into DB
我最近将我的 MySQL 数据库移到了一个新服务器上,这给了我一些问题,这些问题我以前在 MySQL 中遇到过。
我的 table 列设置为 "Default => None",我的 table 一直在根据数据类型生成默认值。但是现在当我尝试插入 table 时,我收到此错误消息:
“#1364 - 字段 'column_name' 没有默认值”,然后没有任何内容插入到 table.
我该怎么做才能让 "Default" 选择它自己的值?
肯定不会保存到数据库中,因为字段 '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 数据库移到了一个新服务器上,这给了我一些问题,这些问题我以前在 MySQL 中遇到过。 我的 table 列设置为 "Default => None",我的 table 一直在根据数据类型生成默认值。但是现在当我尝试插入 table 时,我收到此错误消息: “#1364 - 字段 'column_name' 没有默认值”,然后没有任何内容插入到 table.
我该怎么做才能让 "Default" 选择它自己的值?
肯定不会保存到数据库中,因为字段 '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';
当然,请将您的字段类型与您要更改的字段相匹配。