0
데이터베이스 테이블을 만들고 연결하려고합니다. 내 데이터 유형이 동일하다는 것을 확실히했습니다. FK를 추가하기 전에 테이블을 만들도록해야합니다. 모든 조언을 크게 주시면 감사하겠습니다.1005 MySQL 오류 얻기, 이유 확실하지 않음
SQL query:
ALTER TABLE `Member` ADD FOREIGN KEY (memberId) REFERENCES `Order_Head` (`memberId`) ;
MySQL said: Documentation
#1005 - Can't create table 'test2.#sql-184c_63' (errno: 150) (Details...)
-- ---
-- Table 'Order_Head'
--
-- ---
DROP TABLE IF EXISTS `Order_Head`;
CREATE TABLE `Order_Head` (
`orderId` INTEGER NOT NULL AUTO_INCREMENT,
`memberId` INTEGER NOT NULL,
`date` DATE NOT NULL,
PRIMARY KEY (`orderId`, `memberId`)
);
-- ---
-- Table 'Member'
--
-- ---
DROP TABLE IF EXISTS `Member`;
CREATE TABLE `Member` (
`memberId` INTEGER NOT NULL AUTO_INCREMENT,
`userName` VARCHAR(50) NOT NULL,
`password` VARCHAR(50) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`isAdmin` BOOLEAN NOT NULL DEFAULT false,
PRIMARY KEY (`memberId`)
);
-- ---
-- Foreign Keys
-- ---
ALTER TABLE `Member` ADD FOREIGN KEY (memberId) REFERENCES `Order_Head` (`memberId`);
-- ---
-- Table Properties
-- ---
ALTER TABLE `Order_Head` ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
ALTER TABLE `Member` ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
아직 존재하지 않을지도 모르는 FK를 가리키려하지 않습니다. – FunkyMonk91
방금 테스트 해본 결과 작동했습니다. 나는 지금 나의 잘못을 이해한다. 고마워요! – FunkyMonk91
확인. 좋은 :) 그리고 ALTER 사용에 대한 좋은 지적 – jadkik94