跳到主要内容

1.6.3.1 PRIMARY KEY 和 UNIQUE 索引约束

通常,数据更改语句(如 INSERTUPDATE)会发生错误,这些语句会违反主键、唯一键或外键约束。如果你使用的是事务存储引擎,如 InnoDB,MySQL 会自动回滚该语句。如果你使用的是非事务存储引擎,MySQL 将停止处理发生错误的行上的语句,并保留所有未处理的剩余行。

MySQL 对 INSERTUPDATE 等支持 IGNORE 关键字。如果使用它,MySQL 将忽略主键或唯一键冲突,并继续处理下一行。请参阅章节以了解你正在使用的语句(章节 13.2.6,“INSERT 语句”章节 13.2.13,“UPDATE 语句”;等等)

你可以通过 mysql_info() C API 函数获取实际插入或更新的行数信息。你还可以使用 SHOW WARNINGS 语句。参阅 mysql_info()章节 13.7.7.42,“SHOW WARNINGS 语句”

InnoDBNDB 表支持外键。参阅章节 1.6.3.2,“FOREIGN KEY 约束”

原文链接