2017-05-20 2 views
0

私はデータベースを扱っていて、特にMySQLを扱うのが新しいです。私はクライアントとして "phpmyadmin"を使用しています。 "section_year"の列を "Attendance"からFOREIGN KEYの同じ列に変更しようとしています"セクション"テーブルから "section_year"という名前を取得すると、ERRORが返されます。"列名"(チェックデータ型)に外部キーを作成する際にエラーが発生しましたか?

同じ問題は、私は「Section_semester

と同じものを作るしようとしたとき、以下のURLはテーブルとその列を示し、列ことを示していた画像にあなたをリンクする発生 - 赤でマークされたが、持っています2つのテーブルの同じデータ型!

attendance table

section table

しかし、私は私の意図は、任意のERROR MSGせず、それにFOREIGN KEY以上を追加することを同じテーブルに出席テーブルからFOREIGN KEYを作成しています。

だから、どんな助けも!私はsthが間違っていたのですか?上級者に感謝します。

答えて

0
  1. すべての外部キーから一次と一意を削除します。
  2. 両方のテーブルにプライマリキーとユニークキーが多数あります。

Pictures of key means Primary key. Allキーの写真はプライマリキーを意味します。同名のキー以外のものは外部キーです。あなたは3つのテーブルを持っている必要があります。また、テーブルが必要です:教師とコース:

Table: teachers 
teacher_id primary key 
name 
etc 

Table: courses 
course_id primary key 
name 
description 
etc 
+0

どのようにですか?私はそれらの両方をプライマリキーから削除する場合、私はそれらの間に外部キーを作ることはできません! –

+0

両方のテーブルには、section_yearとsection_semesterというフィールドがあり、両方のテーブルのフィールドにはPrimary keyとUniqueがあります。まさか。 1つのテーブル(テーブル1)でのみ、フィールドはプライマリでユニークにすることができます。他のすべてのテーブルでは、プライマリとユニークはできません。 – b2ok

+0

また、両方のテーブルには多くのプライマリキーとユニークキーがあります。コメントでは、私はあなたが整理するのを手伝ってくれるでしょう。 – b2ok

0

OMG !!! 私はちょうど何かを試してみましたそれがうまくいくという希望はありませんが、それは私と一緒に働いて、probleeemを解決しました!

テーブルの構造体で「インデックス」オプションを押した-FOREIGN KEY- iの関係で使用した各列に、「ok」と入力したあと、その間に外部キーを追加しようとしました。事はすべてのエラーMSGなしで行われます。

関連する問題