Sounds strange if you execute the commands one by one, and each command inserts only one row. Please specify more details if this is not correct. Please also specify your MySQL version.
Could it be that you are using a non-transactional storage engine such as MyISAM, and sql_mode is set to a strict mode, and you are inserting more than one row at a time?
This has some special behavior according to the documentation:
"For nontransactional tables, the behavior is the same for either mode, if the bad value occurs in the first row to be inserted or updated. The statement is aborted and the table remains unchanged. If the statement inserts or modifies multiple rows and the bad value occurs in the second or later row, the result depends on which strict option is enabled..."
To check your sql_mode, do:
To check the storage engine, do
SHOW CREATE TABLE <table_name>;