저는 SQL을 처음 사용하고 테이블에서 다른 테이블을 참조하는 방법을 배우려고합니다. 이것은 내가 무엇을 가지고 :하나의 데이터베이스 테이블을 다른 데이터베이스 테이블로 제한하는 데 문제가 있습니다
그럼 예를 들어 내 참조 테이블이CREATE TABLE IF NOT EXISTS itemData (
id int(11) AUTO_INCREMENT PRIMARY KEY,
title varchar(64) NOT NULL,
sector_id int(11) DEFAULT NULL,
status_id int(11) DEFAULT NULL,
locations_id int(11) DEFAULT NULL,
payments_id int(11) DEFAULT NULL,
type_id int(11) DEFAULT NULL,
CONSTRAINT `fk_sector_id` FOREIGN KEY (sector_id) REFERENCES `sector` (`sector_id`),
CONSTRAINT `fk_status_id` FOREIGN KEY (`status_id`) REFERENCES `status` (`status_id`),
CONSTRAINT `fk_locations_id` FOREIGN KEY (`locations_id`) REFERENCES `location` (`locations_id`),
CONSTRAINT `fk_payments_id` FOREIGN KEY (`payments_id`) REFERENCES `payments` (`payments_id`),
CONSTRAINT `fk_type_id` FOREIGN KEY (`type_id`) REFERENCES `type` (`type_id`)
);
:
CREATE TABLE IF NOT EXISTS itemStatus (
id int(11) AUTO_INCREMENT PRIMARY KEY,
name varchar(64) NOT NULL UNIQUE KEY
);
이 유효성을 검사하지 않는 것을, 내가 잘못하시기 바랍니다 갈 곳 사람이 말해 줄 수?
CONSTRAINT `fk_status_id` FOREIGN KEY (`status_id`) REFERENCES `status` (`status_id`)
가 여기에 테이블 정의의 : 해당 테이블에 status_id
라는 이름의 열이
CREATE TABLE IF NOT EXISTS itemStatus (
id int(11) AUTO_INCREMENT PRIMARY KEY,
name varchar(64) NOT NULL UNIQUE KEY
);
없습니다
무슨 에러가 발생합니까 :이 같은 제약 조건을 다음 테이블 정의를 변경 변경하려면 해달라고 경우에도
? 그리고 어쨌든 두 테이블은 어떻게 관련이 있습니까? – VMai
존재하지 않는 테이블을 참조 할 수 없습니다. 따라서 테이블을 올바른 순서로 작성해야합니다. 이 테이블을 생성하기 전에'sector','status','location','payments','type' 테이블을 적절한 이름의 인덱스 된 컬럼 – VMai