mysql - SQL错误: 1364 Field 'XXXX' doesn't have a default value1

标签 mysql sql

我有表 ROUTE

CREATE TABLE ROUTE (
RouteID INTEGER(4) AUTO_INCREMENT,
RouteName VARCHAR (50) NOT NULL,
BoardingStop VARCHAR (50) NOT NULL,
AlightingStop VARCHAR (50) NOT NULL,
PRIMARY KEY (RouteID )
);

还有第二个表 CUSTOMER

CREATE TABLE CUSTOMER (
CustomerID INTEGER(4) PRIMARY KEY,
CustomerName VARCHAR(50) NOT NULL,
CustomerAge VARCHAR(50) NOT NULL,
Address VARCHAR (50) NOT NULL,
RouteID INTEGER(4) NOT NULL,
FOREIGN KEY (RouteID) REFERENCES ROUTE(RouteID)
);

当我将数据插入 customerID 时

INSERT INTO `CUSTOMER` (`CustomerID`,`CustomerName`,`CustomerAge`,`Address`) VALUES (1,"Madeline Shepard",17,"Ap #303-5324 Nunc St.");

我收到以下错误

Error Code: 1364. Field 'RouteID' doesn't have a default value

帮助

如何修复它。

最佳答案

不确定 teachers_id_teacher 来自哪里,但错误文本对于您提供的插入语句来说似乎确实准确。

您的字段 RouteID 是“必填”(如 NOT NULL 所示),但您在 INSERT 中省略了它。

因为您没有提供值并且它没有默认值,所以插入将会失败。为此字段设置默认值,或指定一个值:

INSERT INTO `CUSTOMER` (`CustomerID`,`CustomerName`,`CustomerAge`,`Address`, `RouteID`) VALUES (1,"Madeline Shepard",17,"Ap #303-5324 Nunc St.", 1234);

关于mysql - SQL错误: 1364 Field 'XXXX' doesn't have a default value1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41064452/

相关文章:

sql - 如何在 MySQL 中重命名索引

php - 正确的方法?数据库实体的 PHP 对象

php - 由于连字符导致的 pq_query 语法错误。我怎么写这个?

sql - 使用每行返回两个值的函数插入

mysql - vb.net - mysql 查询每月选择记录

mysql - 选择所有没有子行的行

Mysql 如何获取两个日期之间的确切日期和时间

php - SQL 搜索并返回在 if 和 else 语句中格式化的结果

mysql - 图书馆数据库设计外键

sql - 来自单个表的多个 Count()