Staff(员工表):
staffID(员工ID,主键),staffName,sexClassMeeting(班会表):
classMID(班会ID、主键),topic,centent,classMTimeClassMeetingStaffs(与会人员表)
ClassMID,staffID(外键),sign(是否签到),note(备注)请问 ClassMeetingStaffs 表中可以把ClassMID设为主键,又设为外键吗? 
建表语句如何写呢?
create table ClassMeetingStaffs
(
classMID varchar(32) primary key foreign key references ClassMeeting(classMID),
sign int ,
note varchar(256)
)
这样写对吗?

解决方案 »

  1.   

    ClassMID是ClassMeetingStaffs 的主键 
    ClassMID是ClassMeeting(班会表)的外键!
      

  2.   

    ClassMeetingStaffs 不设置主键。设两个外键(ClassMID,staffID) 这样建表好不好呢?
      

  3.   


    create table persons
    (id_p int primary key,
     lastname varchar(10), 
     firstname varchar(10), 
     address varchar(10),
     city varchar(10)
    )go
    create table orders
    (
    o_id int not null primary key,
    orderno int not null,
    id_p int,
    constraint fk_perorders foreign key (o_id)
    references persons(id_p)
    )
    o_id既是主键 也是外键。
      

  4.   

    还是ClassMeetingStaffs增加一个自动增长列作为主键,再设两个外键(ClassMID,staffID)?
      

  5.   

    不就是 一个bridge table么?