TheIGNORE
option tells the server to ignore some common errors.
IGNORE
can be used with the following statements:
The logic used:
STRICT_TRANS_TABLES
,STRICT_ALL_TABLES
,NO_ZERO_IN_DATE
,NO_ZERO_DATE
are ignored.NULL
in aNOT NULL
field will insert 0 ( in a numerical field), 0000-00-00 ( in a date field) or an empty string ( in a character field).The following errors are ignored:
Error number | Symbolic error name | Description |
---|---|---|
1022 | ER_DUP_KEY | Can't write; duplicate key in table '%s' |
1048 | ER_BAD_NULL_ERROR | Column '%s' cannot be null |
1062 | ER_DUP_ENTRY | Duplicate entry '%s' for key %d |
1242 | ER_SUBQUERY_NO_1_ROW | Subquery returns more than 1 row |
1264 | ER_WARN_DATA_OUT_OF_RANGE | Out of range value for column '%s' at row %ld |
1265 | WARN_DATA_TRUNCATED | Data truncated for column '%s' at row %ld |
1292 | ER_TRUNCATED_WRONG_VALUE | Truncated incorrect %s value: '%s' |
1366 | ER_TRUNCATED_WRONG_VALUE_FOR_FIELD | Incorrect integer value |
1369 | ER_VIEW_CHECK_FAILED | CHECK OPTION failed '%s.%s' |
1451 | ER_ROW_IS_REFERENCED_2 | Cannot delete or update a parent row |
1452 | ER_NO_REFERENCED_ROW_2 | Cannot add or update a child row: a foreign key constraint fails (%s) |
1526 | ER_NO_PARTITION_FOR_GIVEN_VALUE | Table has no partition for value %s |
1586 | ER_DUP_ENTRY_WITH_KEY_NAME | Duplicate entry '%s' for key '%s' |
1591 | ER_NO_PARTITION_FOR_GIVEN_VALUE_SILENT | Table has no partition for some existing values |
1748 | ER_ROW_DOES_NOT_MATCH_GIVEN_PARTITION_SET | Found a row not matching the given partition set |
Ignored errors normally generate a warning.
A property of theIGNORE
clause consists in causing transactional engines and non-transactional engines (like InnoDB and Aria) to behave the same way. For example, normally a multi-row insert which tries to violate aUNIQUE
contraint is completely rolled back on InnoDB, but might be partially executed on Aria. With theIGNORE
clause, the statement will be partially executed in both engines.
Duplicate key errors also generate warnings. TheOLD_MODE server variable can be used to prevent this.