私はDBの人ではありませんが、私はこの人をちょっとハッキングしていて、問題を釘付けにすることはできません。関連するドキュメントページ(http://dev.mysql.com/doc/refman/5.5/en/innodb-foreign-key-constraints.html)を読んだところ、どこに構文があるのか分かりません。MySQLのCREATE TABLEとFOREIGN KEYエラー
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