Also, habe das bei mir mal getestet:
create table testtable(
feld1 enum('1','2','3') not null,
feld2 integer
);
Wenn ich dort nun mittels
INSERT INTO testtable(feld2) values(1234);
eine Zeile einfüge, dann nimmt MySQL bei mir korrekterweise als Default für feld1 die 1.
Füge ich sowas ein:
insert into testtable values('4', 123);
Dann kriege ich keinen Fehler (was an sich schon mal datenbanktechnischer Murks ist...) und MySQL belegt in dieser Zeile feld1 mit NULL.
Wenn ich die Tabelle so anlege:
create table testtable(
feld1 enum('1','2','3') default '1' not null,
feld2 integer
);
Dann klappt es wie gehabt. Schreibe ich
default 1 ohne die Single Quotes, klappt es immer noch. Welche Version von MySQL benutzt du denn?
Bei mir handelt es sich um 4.1.21.