写了一个分页,调用了数据库里mylist表的数据,以下是数据表的结构:
create table mylist
(
id int unsigned primary key,
fid int unsigned,
ltitle varchar(15)not null,
ltext text,
index (fid),
foreign key (fid) references mylist(id) on delete cascade on update cascade
)
在分页上插入数据,外键约束正常,
在数据库管理工具插入数据过程中,发现外键不起作用,无论fid插入何值只要符合实体完整性都能插入成功。
发现是数据库管理工具phpmyadmin的默认引擎为myisam,该引擎性不能进行事务处理,可以将数据库引擎切换为InnoDB或者在建表时指定表类型。
修改引擎的方法(phpmyadmin):
打开mysql的my.ini文件,找到 [mysqld]块,在下面加入default-storage-engine=INNODB
重启数据库。