2017-03-04 1 views
-2

Here is the screenshot of the Parts table테이블에 삽입 할 문장을 삽입 할 때마다 왜 필드에 기본값이 없습니까?

INSERT INTO Supplies(Cost) 
 
VALUES(10.0); 
 

 
INSERT INTO Supplies(Cost) 
 
VALUES (20.0); 
 

 
INSERT INTO Supplies(Cost) 
 
VALUES (30.0); 
 

 
SELECT * FROM supplies;

Here is the Supplier table

안녕하세요 여러분,

내가 MySQL의에서 데이터베이스 (세 개의 테이블) 모든 시간을 만드는 작업입니다

나는 삽입 문을 실행 내 소모품 테이블에 레코드를 입력하면 'Supplier_SupplierID'필드에 기본값이 없습니다 '라는 메시지가 나타납니다. MySQL에서 모델을 만들었을 때 이미 'Parts_PartID'열을 자동으로 증가 시켰으며 그 오류는 더 이상 존재하지 않습니다. 그렇다면 지금 'Supplier_SupplierID'열을 사용하는 이유는 무엇입니까? 누군가 나를 도울 수 있습니까? Supplies 테이블에 레코드를 삽입 할 때 내 모델 그림과 SQL 코드 샘플이 있습니다.

+0

ID가 자동 증가하지 않습니다. 변경 그 –

+0

juergen d 어느 id? – DMicheal

+0

당신은 두 개의 기본 키를 자동으로 증가시킬 수 없습니다. MySQL은 그것을 허용하지 않을 것이다. – DMicheal

답변

0

Parts 테이블과 Suppliers 테이블에 대해 외래 키를 제공하지 않으면 Supplies에 삽입 할 수 없습니다. 해당 테이블의 기본 키가 자동으로 증가 할 수 있지만 소모품에 삽입 할 때 이미 알고 있어야합니다.

일반적으로 Supplies 테이블에 삽입 할 때 작성된 알려진 PartID 및 SupplierID를 사용합니다. 테이블의 정의에 따라 해당 열은 NULL 일 수 없습니다.

'Supplier_SupplierID 필드에 기본값이 없습니다'는 값을 제공하지 않고 기본값이없고 NULL이 아니란 것을 의미합니다.

관련 문제