3

現在、チュートリアルに従って、既存のサイトに何かを構築する方法を学んでいます。

チュートリアルは、データベースに対してこれを実行する必要があることを教えてくれます

ALTER TABLE posts ADD FOREIGN KEY(post_by) REFERENCES users(user_id) ON DELETE RESTRICT ON UPDATE CASCADE;

テーブルを作成できないというエラーが表示されます。

「users」テーブルは既存のデータベースからのもので、それ以外はすべて新しいものです。

チュートリアルでは、実行するいくつかの変更コマンドが提供され、「ユーザー」テーブルを使用しようとしている場合を除いて、それらはすべて完璧に機能します。

私はこれに完全にこだわっています。どんな助けでも大歓迎です。

乾杯

4

2 に答える 2

8

テーブルの種類を確認してください。である必要がありますInnoDB

于 2012-11-15T13:54:34.090 に答える
1

http://dev.mysql.com/doc/refman/5.1/en/alter-table.htmlを見てください。各エンジンで使用できるオプションが非常に明確です。

次のセクションを参照してください。

FOREIGN KEY 句と REFERENCES 句は InnoDB ストレージ エンジンでサポートされています。

と:

他のストレージ エンジンの場合、句は解析されますが無視されます。

h2oooooo が言ったように、次のようにエンジンを変更できます。

ALTER TABLE table ENGINE = INNODB
于 2012-11-15T14:15:43.850 に答える