CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 1); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connect con1,localhost,root; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 INSERT INTO t1 VALUES(2, NULL); affected rows: 1 UPDATE t1 SET c1 = 3 WHERE c2 = 1; affected rows: 1 info: Rows matched: 1 Changed: 1 Warnings: 0 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 1 Warnings: Warning 1265 Data truncated for column 'c2' at row 3 SELECT * FROM t1; c1 c2 2 0 3 1 DROP TABLE t1; CREATE TABLE t1(c1 INT NOT NULL, c2 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 1); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connection con1; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 INSERT INTO t1 VALUES(2, 3); affected rows: 1 UPDATE t1 SET c1 = 3 WHERE c2 = 1; affected rows: 1 info: Rows matched: 1 Changed: 1 Warnings: 0 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 0 SELECT * FROM t1; c1 c2 2 3 3 1 DROP TABLE t1; CREATE TABLE t1(c1 INT NOT NULL, c2 INT, c3 INT, PRIMARY KEY(c1))ENGINE=INNODB; INSERT INTO t1 VALUES(1, 2, 3); SET DEBUG_SYNC= 'row_merge_after_scan SIGNAL opened WAIT_FOR flushed'; affected rows: 0 ALTER IGNORE TABLE t1 CHANGE c2 c2 INT NOT NULL DEFAULT 2; connection con1; SET DEBUG_SYNC= 'now WAIT_FOR opened'; affected rows: 0 UPDATE t1 SET c2= 2 WHERE c1 = 1; affected rows: 0 info: Rows matched: 1 Changed: 0 Warnings: 0 INSERT INTO t1 VALUES (2, NULL, 4); affected rows: 1 SET DEBUG_SYNC= 'now SIGNAL flushed'; affected rows: 0 connection default; affected rows: 0 info: Records: 0 Duplicates: 0 Warnings: 1 Warnings: Warning 1265 Data truncated for column 'c2' at row 3 SELECT * FROM t1; c1 c2 c3 1 2 3 2 0 4 DROP TABLE t1; disconnect con1; SET DEBUG_SYNC='RESET';