Yes. INSERT IGNORE says to ignore the insert if a data integrity violation is made by the INSERT (i.e. duplicate primary key).
If you have no unique and/or primary a data integrity violation will never be made and the row will always be inserted, regardless whether a row with the same data already exists.