MySQL 8.4 Release Notes
1.7.3.1 主键和唯一索引约束
通常,数据更改语句(例如INSERT
或UPDATE
)会违反主键、唯一索引或外键约束。如果您使用的是事务存储引擎,如InnoDB
,MySQL自动回滚语句。 如果您使用的是非事务存储引擎,MySQL在错误发生的行停止处理,并且留下未处理的行。
MySQL支持INSERT
、UPDATE
等的IGNORE关键字。如果您使用它,MySQL忽略主键或唯一索引违反,并继续处理下一行。请参阅您正在使用的语句的部分(第15.2.7节,“INSERT 语句”、第15.2.17节,“UPDATE 语句”等。)
您可以使用 C API 函数 mysql_info()
获取实际插入或更新的行数,也可以使用 SHOW WARNINGS
语句。见mysql_info(),和第15.7.7.41节,“SHOW WARNINGS 语句”.
InnoDB
和 NDB
表支持外键约束。见第1.7.3.2节,“FOREIGN KEY 约束”.