MySQL 如何处理约束?


让我们了解一下 MySQL 如何处理约束:

MySQL 帮助我们处理事务表(允许回滚)和非事务表(不允许回滚)。这就是为什么与其他数据库管理系统相比,MySQL 中处理约束的方式有所不同的原因。在非事务数据库中,如果插入或更新多行时发生错误,则无法回滚。这种情况必须以正确的方式处理。

在解析需要执行的语句时,MySQL 服务器会针对其检测到的错误查询生成错误。检测到错误后,它会尝试在执行语句时从错误中恢复。目前并非所有语句都这样做。

发生错误时,MySQL 可以停止语句的执行,也可以从中恢复并继续执行。默认情况下,服务器会从中恢复并继续执行。

外键允许跨表交叉引用数据,外键约束有助于确保这些分散的数据保持一致。

外键引用

MySQL 在 CREATE TABLE 和 ALTER TABLE 语句中支持 ON UPDATE 和 ON DELETE 外键引用。

引用操作

可用的引用操作包括:RESTRICT、CASCADE、SET NULL 和 NO ACTION。

NO ACTION 是默认的引用操作。

Learn MySQL in-depth with real-world projects through our MySQL certification course. Enroll and become a certified expert to boost your career.

ENUM

ENUM 值必须是列定义中列出的值,或者其内部数值等效项。该值不能是错误值(0 或空字符串)。对于定义为 ENUM('a','b','c') 的列,除了'a'、'b'或'c'以外的值,例如“”、“d”或“ax”,都被认为是无效的,并将被拒绝。

更新于:2021年3月8日

浏览量:133

启动你的职业生涯

完成课程获得认证

开始学习
广告