MySQL 8.4 Reference Manual  /  ...  /  PRIMARY KEY and UNIQUE Index Constraints

1.7.3.1 主键和唯一索引约束

通常,数据更改语句(例如INSERTUPDATE)会违反主键、唯一索引或外键约束。如果您使用的是事务存储引擎,如InnoDB,MySQL自动回滚语句。 如果您使用的是非事务存储引擎,MySQL在错误发生的行停止处理,并且留下未处理的行。

MySQL支持INSERTUPDATE等的IGNORE关键字。如果您使用它,MySQL忽略主键或唯一索引违反,并继续处理下一行。请参阅您正在使用的语句的部分(第15.2.7节,“INSERT 语句”第15.2.17节,“UPDATE 语句”等。)

您可以使用 C API 函数 mysql_info() 获取实际插入或更新的行数,也可以使用 SHOW WARNINGS 语句。见mysql_info(),和第15.7.7.41节,“SHOW WARNINGS 语句”.

InnoDBNDB 表支持外键约束。见第1.7.3.2节,“FOREIGN KEY 约束”.