级联删除,级联更新
外键维护数据的一致性。
下面是几条术语:
父表:包含原始键值的表。
子表:引用了父表中键值的相关表。
创建父表和子表关联案例
父表:
create table parent
{
par_id INT NOT NULL,
PRIMART KEY (par_id);
}ENGINE = INNODB;
子表
create table child
{
par_id int not null,
child_id int not null,
primary key (par_id,child_id),
foreign key (par_id) references parent (par_id),
ON DELETE CASCADE
ON UPDATE CASCADE
}ENGINE = INNODB;
上面的子表的定义会使对父表进行更改和删除时字表的数据也会随着改变,若父表里没有某个id值则子表中不能相应的插入该id值得数据。
创建父表和子表不关联案例
create table child
{
par_id int not null,
child_id int not null,
UNIQUE (par_id,child_id),
foreign key (par_id) references parent (par_id),
ON DELETE SET NULL
ON UPDATE SET NULL
}ENGINE = INNODB;
当插入父表删除和更改par_id值时,子表对应的值id值改为NULL。
使用FULLTEXT搜索
select * from tb_name where MATCH(columns_name) AGAINST('time');
更多推荐
MySQL数据库基础知识四(外键和引用)
发布评论