我正在使用Postman测试React应用程序中使用Sequelize、node和express的POST路由。我遇到了以下错误:
我的表的模式如下:
我尝试将各个列更改为DEFAULT NULL,但即使我在这些字段中输入数据,数据库也返回null。 我添加了我的代码图像。
React表单
Trips控制器
Trips模型
Trips路由器
-Sam
{
"name": "SequelizeDatabaseError",
"parent": {
"code": "ER_NO_DEFAULT_FOR_FIELD",
"errno": 1364,
"sqlState": "HY000",
"sqlMessage": "Field 'title' doesn't have a default value",
"sql": "INSERT INTO `Trips` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?);",
"parameters": [
"2019-12-01 00:50:42",
"2019-12-01 00:50:42"
]
},
"original": {
"code": "ER_NO_DEFAULT_FOR_FIELD",
"errno": 1364,
"sqlState": "HY000",
"sqlMessage": "Field 'title' doesn't have a default value",
"sql": "INSERT INTO `Trips` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?);",
"parameters": [
"2019-12-01 00:50:42",
"2019-12-01 00:50:42"
]
},
"sql": "INSERT INTO `Trips` (`id`,`createdAt`,`updatedAt`) VALUES (DEFAULT,?,?);",
"parameters": [
"2019-12-01 00:50:42",
"2019-12-01 00:50:42"
]
}
我的表的模式如下:
CREATE TABLE Trips (
id INT NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
location varchar(255) DEFAULT NULL,
Description varchar(255) DEFAULT NULL,
tripDate datetime DEFAULT NULL,
image varchar(255) DEFAULT NULL,
createdAt timestamp default current_timestamp,
updatedAt timestamp,
PRIMARY KEY (id)
);
我尝试将各个列更改为DEFAULT NULL,但即使我在这些字段中输入数据,数据库也返回null。 我添加了我的代码图像。
React表单
![React Form](https://istack.dev59.com/Kkjri.webp)
![Trips Controller](https://istack.dev59.com/UFrhW.webp)
![Trips Model](https://istack.dev59.com/LAZj9.webp)
![Trips Router](https://istack.dev59.com/B1zPX.webp)
title
字段赋值,并且从模式中可以看出它没有默认值并且是NOT NULL
。你需要给它一个默认值,使其可为空,或者提供一个值。如果你认为你已经为title
列提供了一个值,那么你需要展示相关的代码。 - UncleDave