mysql中创建外键约束- 激情与挑战共存- liliang268 - 和讯博客
mysql中创建外键约束 [原创 2010-02-01 17:19:05]   

----如果存在表cst_customer,则删除该表,然后再重新建立*/
drop table if exists cst_customer;
create table cst_customer
(
 cust_no char(17) not null auto_increment primary key,--客户编号
 cust_name varchar(100) not null,--客户名称
 cust_region varchar(50) null,--地区
 cust_level int(4)  null,--客户等级
 cust_level_label varchar(50)--客户等级
 cust_satisfy int(4)  null,--客户满意度
 cust_status char(1) null--客户状态:1--正常;2--流失;3--删除。
)
----如果存在表cst_activity,则删除该表,然后再重新建立*/
drop table if exists cst_activity;
create table cst_activity
(
 atv_id int(4) not null auto_increment primary key,--编号
 avt_cust_no char(17)  null,--客户编号,外键
 atv_cust_name varchar(100)  null,--客户名称
 atv_date date not null,--时间|l
 atv_place varchar(200) not null,--地点|l
 atv_title varchar(500) not null,--概要|l
 avt_desc varchar(2000) null,--详细信息|l
 index(avt_cust_no),
 foreign key(avt_cust_no) references cst_customer(cust_no)
) TYPE=INNODB;

 

注:

外键定义服从下列情况:

·         所有tables必须是InnoDB型,它们不能是临时表。

·         在引用表中,必须有一个索引,外键列以同样的顺序被列在其中作为{dy}列。这样一个索引如果不存在,它必须在引用表里被自动创建。

·         在引用表中,必须有一个索引,被引用的列以同样的顺序被列在其中作为{dy}列。

·         不支持对外键列的索引前缀。这样的后果之一是BLOB和TEXT列不被包括在一个外键中,这是因为对这些列的索引必须总是包含一个前缀长度。

·         如果CONSTRAINTsymbol被给出,它在数据库里必须是{wy}的。如果它没有被给出,InnoDB自动创建这个名字。

郑重声明:资讯 【mysql中创建外键约束- 激情与挑战共存- liliang268 - 和讯博客】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——