2016-03-31 8 views
-1

私は本当に必死です。最新のWAMPサーバーを再インストールしなければならなかったので、今度はphpmyadminで外部キーを操作する方法がわかりません。今、私はMySQL 5.7.9でWamp 3.0.0を持っています。新しいphpmyadminのForeginキー

私は2つのテーブル - ユーザー、プロファイルを持っています。プロファイルでは、userテーブルを参照する必要があるuser_idという名前のカラムがあります。これどうやってするの?

古いphpmyadminでは、私はリレーションビューをクリックしました。そこにforeingキーを設定するためのすべてのオプションがあります。しかし、私は、このようなoption.Nowを持っていないこの新しいphpmyadminの中で、それは次のようになります。私は「関係ビュー」ボタンをクリックすると new phpMyAdmin

、私はこのような何かを得る: enter image description here

をしかし、どこにユーザーテーブルに外部キーを追加するだけですか?私がしなければならないこと? もちろん、プロファイル(id)とユーザー(id)のすべてのテーブル、プライマリキーにInnoDBを設定しました。プロファイルテーブルのuser_idは一意です。

私の2番目の質問は - テーブル内のすべての外部キーのリストはどこですか?

+0

リレーションビューでは、制約(外部キー)を追加できます。 2番目のスクリーンショットでは、制約名を入力し、制約を適用する列を選択し、制約が使用するテーブル+列を選択することができます。 – Arno

+0

だから、私はすでにテーブルユーザーにforeingキーを作成していると言っていますか?私のPHPアプリケーションでは動作しないので、奇妙です。 – mrow

+0

あなたは 'foreign key constraints'を使用しています。 「外部キー制約」部分の上には「内部関係」部分があります。そこでは視覚的に外部キーを設定します。 – Edper

答えて

0

視覚的にではなく手動で行うこともできます。

ALTER TABLE profiles ADD CONSTRAINT fk_users_id 
FOREIGN KEY (user_id) REFERENCES users(user_id) 
+0

私もこれを試しました。しかし、私はこのエラーを受け取りました:#1215 - 外部キー制約を追加できません – mrow

+0

'users'テーブルの' user_id'が 'profiles'テーブルの' user_id'と同じデータ型を持っていることを確認してください。 – Edper

+0

男、本当にありがとうございます:) ..とにかく、プロファイルのuser_idとユーザーのIDは同じタイプです - int(11)..まだ動作しない場所は分かりません..たぶん役立つかもしれませんが、私はテーブル内に内部のリレーション部分を持っていません – mrow

関連する問題