yo,
die syntax (ohne angaben von spaltennamen), die du beim INSERT verwendest, setzt vorraus, dass das DBMS alle spaltenwerte in der gleichen reihenfolge mit werten füllen kann. Falls du nicht alle Werte einträgst, dann musst du auch die Spalten, welche gefüllt werden sollen mit angegeben.
die ID spalte kannst du weglassen, falls es sich um eine spalte mit auto-increment hält. Da die spalte id bereits primary key ist, kannst du dir den contraint NOT NULL sparen. per defintiion ist jeder primary key NOT NULL und UNIQUE.
Ilja