Зависи от машината - MyIsam и InnoDb се държат различно.
За MyIsam таблици, ако вече съществува запис в таблицата (дори ако все още не е ангажиран), обикновено INSERT на същия запис ( същия уникален ключ) в другата сесия отчита грешка с дублиран ключ - така че INSERT IGNORE просто игнорира грешката и продължава по-нататък.
В таблицата InnoDB, ако записът не е заключен, обикновеният INSERT ще незабавно докладвайте грешката с дублиран ключ (INSERT IGNORE ще пропусне грешката и ще продължи).
Но ако записът е заключен от другата сесия (например записът е вмъкнат, но все още не е ангажиран, или записът е заключен от UPDATE или DELETE или SELECT FOR UPDATE), командата INSERT ще "увисне" и ще изчака, докато другата сесия премахне заключването (чрез COMMIT или ROLLBACK). След това, ако записът все още съществува след премахване на заключването, INSERT ще съобщи за грешката (INSERT IGNORE ще игнорира грешката), но ако записът не съществува, INSERT ще добави този запис към таблицата.
Ключовата дума IGNORE просто казва „в случай на някаква грешка, просто я игнорирайте и продължавайте“, но това не влияе върху поведението на заключване.