The only difference between MyISAM and Innodb in this case is that if a multi-row insert has a failure (which generates an error, e.g. unique key violation), InnoDB will roll back the partially done insert.

However, the "null is only an error on the first row" crapness happens with both. It's not part of the engine.

For a novice you cannot understand how to manipulate both side.It's the best .Why

$sql="update j where n=1"; // this is innodb$sql="update log set sql=$sql"; // this is myisamif error dieIf you're in transaction logging error wouldn't insert to db.The point you can manipulate before edit value field before and after as audit column field and make the programmer more usefull to understand what sql error they make on response.