Normally, errors occurs for data-change statements (such as
          INSERT or
          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
          INSERT,
          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 12.2.5, “INSERT Syntax”,
          Section 12.2.11, “UPDATE Syntax”, 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 21.9.3.35, “mysql_info()”, and
          Section 12.4.5.42, “SHOW WARNINGS Syntax”.
        
          Currently, only InnoDB tables support
          foreign keys. See
          Section 13.6.4.4, “FOREIGN KEY Constraints”.
        


User Comments
Quick Example of ignoring a unique key
Here is our table:
CREATE TABLE `file_names` (
`id` int(11) NOT NULL auto_increment,
`file_name` text NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `file_name` (`file_name`(200))
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
Here is our query
INSERT IGNORE INTO `its_streamingdata`.`file_names` (`id` ,
`file_name`) VALUES (NULL , 'a'), (NULL , 'a')
The table now contains one row with a filename of 'a'
HTH
Hamy
Add your own comment.