try
mysql --force < sample_data.sql
Mysql help section says
-f, --force Continue even if we get an sql error.
----------------------
You could also use INSERT IGNORE
INSERT IGNORE INTO mytable
(primaryKey, field1, field2)
VALUES
('1', 1, 2),
('1', 3, 4), //will not be inserted
('2', 5, 6); //will be inserted
----------------------
You can use INSERT... IGNORE syntax if you want to take no action when there's a duplicate record.
You can use REPLACE INTO syntax if you want to overwrite an old record with a new one with the same key.
Or, you can use INSERT... ON DUPLICATE KEY UPDATE syntax if you want to perform an update to the record instead when you encounter a duplicate.
----------------------
REF:
http://stackoverflow.com/questions/5366436/continue-sql-query-even-on-errors