1.7.3.1主键和独特索引约束
通常,数据更改语句(例如INSERT
或UPDATE
)会发生违反主键,唯一键或外键约束的错误。如果您使用的是事务性存储引擎,如InnoDB
MySQL自动回滚该语句。如果您使用的是非事务性存储引擎,MySQL将停止在发生错误的行处理该语句,并保留任何剩余的行未处理。
MySQL支持的IGNORE
关键字INSERT
,UPDATE
等。如果使用它,MySQL将忽略主键或唯一键违例,并继续使用下一行进行处理。请参阅您正在使用的语句的部分(第13.2.5节“插入语法”,第13.2.11节“更新语法”等)。
您可以获取有关使用mysql_info()
C API函数实际插入或更新的行数的信息。您也可以使用该SHOW WARNINGS
语句。请参见第23.8.7.35节“mysql_info()”和第13.7.5.41节“SHOW WARNINGS语法”。
只有InnoDB
表支持外键。请参见第14.8.7节“InnoDB和FOREIGN KEY约束”。