Tach!
mit TEXT statt VARCHAR würde es funktionieren, da TEXT keinen Default haben kann,
Der zweite Teil stimmt, aber ans Ziel bringt den OP ein TEXT-Feld auch nicht, denn MySQL gibt auch dann keinen Fehler aus. Ein NOT-NULL-TEXT-Feld wird ohne eine Angabe beim INSERT stillschweigend mit einem Leerstring befüllt.
dedlfix.