저는 DB 남자는 아니지만이 제품을 조금이라도 해킹하고있어 문제를 해결할 수 없습니다. 관련 문서 페이지 (http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html)를 읽었으며 구문이 어디에 문제가되는지 알 수 없습니다. .MySQL 만들기 테이블 및 외부 키 오류
ERROR 1064 (42000) at line 84: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'FOREIGN KEY (user_id) REFERENCES user(id)
ON DELETE RESTRICT ON UPDATE C' at line 5
관련 SQL 순서 (id)와 사용자 (id)는 각각의 테이블에서 자동 증가 int (10) 필드입니다.
DROP TABLE IF EXISTS `user_orders`;
CREATE TABLE `user_orders` (
`user_id` int(10) unsigned NOT NULL default '0',
`order_id` int(10) unsigned NOT NULL default '0',
PRIMARY KEY (`user_orders_user_id`, `user_orders_order_id`)
FOREIGN KEY (user_id) REFERENCES user(id)
ON DELETE RESTRICT ON UPDATE CASCADE,
FOREIGN KEY (order_id) REFERENCES order(id)
ON DELETE RESTRICT ON UPDATE CASCADE,
) AUTO_INCREMENT=50;
감사합니다. 특히 내가 무엇을 놓쳤는 지 설명 할 수 있다면 감사하겠습니다.
PRIMARY KEY (`user_orders_user_id`, `user_orders_order_id`), -- <-------
FOREIGN KEY (user_id) REFERENCES user(id) ...
그리고 당신은 당신이 당신의 외래 키가 시행하려는 경우 InnoDB의 엔진을 사용하는 것이 좋습니다 :
정말 고맙습니다. 특히 RE : InnoDB를 사용하십시오. – elithrar