前言
为mysql数据表建立主外键需要注意以下几点:
需要建立主外键关系的两个表的存储引擎必须是InnoDB。
外键列和参照列必须具有相似的数据类型,即可以隐式转换的数据类型。
外键列和参照列必须创建索引,如果外键列不存在索引,mysql将自动创建索引。
一、SQL语句创建数据表并设置主外键关系
create table demo.ChineseCharInfo
(
ID int not null auto_increment,
Hanzi varchar(10) not null,
primary key (ID)
)
engine=innodb auto_increment=1 default charset=utf8 collate=utf8_general_ci;
create table demo.ChinesePinyinInfo
(
ID int not null auto_increment,
CharID int null,
Pinyin varchar(10) null,
Tone tinyint unsigned null,
primary key (ID),
-- 方式一:不指定外键名称,数据库自动生成
foreign key (CharID) references ChineseCharInfo(ID) on delete cascade on update cascade
-- 方式二:指定外键名称为(FK_Name)
-- constraint FK_Name foreign key (CharID) references Chine