TL;DR
- NULLが入っているカラムを後から
NOT NULLにしようとすると出る - 何故出るかというと、 INSERT IGNORE INTOがNOT NULL DEFAULTを裏切る
から敢えて
SHOW WARNINGSを拾ってエラーにしている- 裏切られるのを承知の上で強行するなら
pt-online-schema-change --null-to-not-nullでいける
- 裏切られるのを承知の上で強行するなら
-
UPDATE t1 SET val = ? WHERE val IS NULLでNULLを排除してからpt-online-schema-changeすればいいんじゃないかな
日々の覚書: INSERT IGNORE INTOがNOT NULL DEFAULTを裏切る の続き。
pt-oscは INSERT …