私は1つの従業員テーブルを持っています:
create table employee
(number integer primary key,
name varchar(20),
salary integer,
manager integer,
birthyear integer,
startyear integer);
ここで、manager 列は従業員マネージャーの従業員番号です。つまり、いくつかの行は次のようになります。
number | name | salary | manager | birthyear | startyear |
32 | Smythe, Carol | 9050 | 199 | 1929 | 1967 |
33 | Hayes, Evelyn | 10100 | 199 | 1931 | 1963 |
35 | Evans, Michael | 5000 | 32 | 1952 | 1974 |
明確にするために、マイケル・エヴァンスのマネージャーはキャロル・スマイスです。さらに 2 つの点として、このテーブルには外部キー制約がなく、manager 列にいくつかの NULL 値があります。ここで、すべてのマネージャーを含む Managers テーブルを作成したいと思います。私はこのようなことをします。
create table Mgr(
Mgr_id INTEGER PRIMARY KEY,
bonus INTEGER,
FOREIGN KEY (Mgr_id) REFERENCES employee(manager));
しかし; これは機能せず、エラーが発生します。誰かが理由を説明してもらえますか? 答えを探しましたが、良い説明が見つかりません。前もって感謝します。
エラー:
ERROR 1005 (HY0000): Can´t create table johnson.mgr (errno: 150)