mysql写外键约束时不生效

写了外键约束,删除父表内容发现删除成功

解决方法

查看两个表使用的引擎

show create table 表名;

发现

ENGINE=MyISAM

更改引擎

ALTER TABLE emp ENGINE=InnoDB;


重新写外键

再次尝试删除父表内容失败

MyISAMInnoDB 是 MySQL 中的两种存储引擎,各自有不同的特点:

  1. MyISAM

    • 优点:性能高,适合读操作频繁的场景。
    • 缺点:不支持事务、外键约束和行级锁。表级锁可能影响并发性能。
    • 用途:适用于对数据一致性要求不高的读密集型应用。
  2. InnoDB

    • 优点:支持事务、外键约束、行级锁,有更高的数据完整性和并发处理能力。
    • 缺点:性能可能略低于 MyISAM,特别是在写操作较多时。
    • 用途:适用于对数据完整性和事务处理有较高要求的应用。

MyISAM 不支持外键约束,因此无法实现数据的完整性约束,这使得在需要确保数据之间关系一致性时,InnoDB 是更优的选择。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值