0

従業員が部門「赤」に属している場合、サブカテゴリを作成したいと思います。これには enum の代わりにテーブルを使用しているため、静的な部門フィールドの値を手動で挿入する必要があります。部門 red を参照テーブル red_object への外部キーにするにはどうすればよいですか? または、このサブカテゴリを持つより良いデザインはありますか?

http://sqlfiddle.com/#!2/83a2a

create table department(
  deptID int auto_increment primary key,
  deptName varchar(30)
  ) ENGINE = INNODB;

create table red_object(
  objectID int auto_increment primary key,
  objectName varchar(30)
  ) ENGINE = INNODB;

create table employees(
  userId int auto_increment not null primary key,
  firstName varchar(20) not null,
  lastName varchar(20) not null,
  phone tinyint unsigned,
  fax tinyint unsigned,
  position varchar(30),
  jpeg char(50),
  deptID int,
  unique(firstName, LastName, jpeg),
  foreign key (deptID) references department(deptID)
  ) ENGINE = INNODB;

insert into department (deptName) 
  values ('red'), ('white'), ('blue'), ('black');

insert into red_object (objectName) 
  values ('red_square'), ('red_circle'), ('red_octagon');

insert into employees (firstName, lastName) values ('jane' , 'doe');

insert into employees (firstName, lastname, deptID) values ('john', 'Doe', '3');
4

1 に答える 1

0

私がやろうとしていた「値」に外部キーを追加できないことがわかりました。

于 2012-12-13T06:12:43.967 に答える