create table flight (
fl_flight_no int primary key,
fl_orig varchar(3) constraint flight_orig_fk references airport(air_code),
);
我刚接触数据库, 我选择用MySQL。
上面这个例子有什么语法错误? 难道 MySQL 没有constraint 直接在用在一个 table field的功能吗?
在在线等, 知道的帮忙一下, 马上结贴, 谢谢
fl_flight_no int primary key,
fl_orig varchar(3) constraint flight_orig_fk references airport(air_code),
);
我刚接触数据库, 我选择用MySQL。
上面这个例子有什么语法错误? 难道 MySQL 没有constraint 直接在用在一个 table field的功能吗?
在在线等, 知道的帮忙一下, 马上结贴, 谢谢
http://hi.baidu.com/jlhh/blog/item/69f9a011accf3c7eca80c48c.html
问题就是难道
fl_orig varchar(3) constraint flight_orig_fk references airport(air_code), 在这个语句里, constraint 无法直接跟在 fl_orig 后面吗? 那fl_meal char(1) constraint flight_meal_cc check (fl_meal ='B' or fl_Meal='L' or fl_meal='D' or fl_Meal='S' or fl_meal=''),这句怎么办? constraint 后面是check, 谁有一眼就知道的? 帮忙一下
你的mysql版本,表类型你都没有回答真是浮躁的可以
2、fl_orig 和air_code 必须都是varchar(3).
3、fl_orig 必须是KEY.
4、foreign key 的名字必须在整个库是唯一的。所以你的表应该是这样:create table flight (
fl_flight_no int primary key,
fl_orig varchar(3),
key idx_fl_orig (fl_orig),
constraint flight_orig_fk foreign key (fl_orig) references airport(air_code)
) engine innodb;