多列外键组合,必须用表级别约束语法: 
create table classes(         
 id int,         
 name varchar(20),         
 number int,         
 primary key(name, number) 
 ); 
 create table student(         
 id int auto_increment primary key,         
 name varchar(20),         
 classes_name varchar(20),         
 classes_number int,                
 foreign key(classes_name, classes_number) references classes(name, number) 
 );   

解决方案 »

  1.   

    我的意思是C表中的f_name字段约束为B表和A表的guid_code字段,该如何写这个语句,简单表述如下:
    C表中f_name字段的值只能是B表或A表的guid_code字段的值。
      

  2.   

    C表中的f_name字段约束为B表A表的guid_code字段
    C表中f_name字段的值只能是B表A表的guid_code字段的值

    楼主最好明确下来到底是和还是或和,则可以定义两次独立外键实现,
    或,无法实现。