----如果存在表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自动创建这个名字。