我有表 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/