Mysql为什么外键的表建立不起啊,找不到问题!!

create table reserve( flight_number varchar(20) not null unique primary key, take_off_place varchar(20) not null unique, destination varchar(20) not null, flight_time datetime not null, seat_message varchar(20) not null );
create table traveller( t_id int(20) not null unique primary key, name varchar(20) not null, sex varchar(4) not null, tel int(20) not null unique, company varchar(30));

create table ticket( id int(20) not null unique primary key, name varchar(20) not null, flight_number varchar(20) not null unique, entrance varchar(20) not null, take_off_place varchar(20) not null unique, destination varchar(20) not null, flight_time datetime not null, seat_message varchar(20) not null, seat_number int(4) not null unique, constraint t_fk1 foreign key(flight_number,take_off_place,destination,flight_time,seat_message) references reserve(flight_number,take_off_place,destination,flight_time,seat_message), constraint t_fk2 foreign key(name)references traveller(name) )

因为在reserve表中,只有flight_number是主键,而别的字段都不是主键属性,所以不能创建成外键追问

如果想按照表的意思显示多个信息,除了设置多个主键,还能怎样做啊?

追答

我估计到你会问这个
你可以试一下创建约束,就是在插入的时候检查reserve表中是不是有同样值的元组,具体我没有试过。好像mysql没有check语句,所以要用触发器时间,就是在触发器中检查,一旦不一致,就执行一个出错的语句来终止插入或修改

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网