MySQL如何处理约束?

让我们了解MySQL如何处理约束-

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

当解析需要执行的语句时,MySQL Server会为查询产生错误,并检测为错误。一旦检测到错误,它将在执行语句时尝试从错误中恢复。到目前为止,尚未对所有语句执行此操作。

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

外键允许跨表的数据进行交叉引用,外键约束有助于确保此散布数据保持一致。

外键参考

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

参照动作

可用的参照动作是-RESTRICT,CASCADE,SET NULL和NO ACTION。

NO ACTION是默认的参考动作。

枚举

一个ENUM值必须是列定义中列出的值,或者是内部数字等效值。该值不能是错误值(0或空字符串)。对于定义为ENUM('a','b','c')的列,除'a','b'或'c'以外的其他值,例如','d'或'ax '被视为无效且被拒绝。