18.104.22.168 PRIMARY KEY and UNIQUE Index Constraints
Normally, errors occur for data-change statements (such as
UPDATE) that would violate primary-key, unique-key, or foreign-key constraints. If you are using a transactional storage engine such as
InnoDB, MySQL automatically rolls back the statement. If you are using a nontransactional storage engine, MySQL stops processing the statement at the row for which the error occurred and leaves any remaining rows unprocessed.
MySQL supports an
IGNORE keyword for
UPDATE, and so forth. If you use it, MySQL ignores primary-key or unique-key violations and continues processing with the next row. See the section for the statement that you are using (Section 13.2.5, “INSERT Statement”, Section 13.2.11, “UPDATE Statement”, and so forth).
You can get information about the number of rows actually inserted or updated with the
mysql_info() C API function. You can also use the
SHOW WARNINGS statement. See Section 22.214.171.124, “mysql_info()”, and Section 126.96.36.199, “SHOW WARNINGS Statement”.
NDB tables support foreign keys. See Section 188.8.131.52, “FOREIGN KEY Constraints”.