I got Master table with such column defined: INT DEFAULT NULL;
and the Slave having that column defined as NOT NULL;
. InnoDB engine.
SQL mode on both servers is:ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
.
The question is: why INSERT to that column NULL
value on Master successfully replicated on Slave (inserting "0" value)? (I expect it to fail).
I even took that statement and run it on Slave and it gave the expected error "column col cannot be null". But the same statement succeeds when replicating...
Hope to get the answer :) P.S. sorry for my English.