2016-12-09 18 views
0

私が持っているテーブルROUTESQLエラー:1364フィールド 'XXXX' をデフォルト値1を持っていない

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) 
); 

そして、私は

得意先にデータを挿入する第2のテーブル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) 
); 

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

ヘルプ

どうすれば修正できますか?

+2

の可能性のある重複した[mysqlの5.7.12-0に取り組んでいない挿入?](http://stackoverflow.com/questions/38374536/insert -not-working-on-mysql-5-7-12-0) – e4c5

+0

間違ったデータベースにあるか、間違ったスキーマにあります。 – xQbert

+0

columns_id_teacherという列は表示されませんが、RouteIDの値を指定していないという問題があります。これはnullではなく、デフォルトはありませんか? –

答えて

1

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); 
関連する問題