Aparte de lo dicho por Emilio, que tiene razón porque MySQL incluye campos autoincrementales, el error te lo da porque el evento se ejecuta antes (
before) de que se haga la inserción, por lo que no puede acceder a los campos ya que todavía no existen.
De todas formas, repetimos, usa un campo autoincremental (
auto_increment). Por ejemplo:
Código SQL
[-]CREATE TABLE IF NOT EXISTS `empleado` (
`id` int(25) unsigned NOT NULL auto_increment,
`Nombre` text NOT NULL,
PRIMARY KEY (`id`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci AUTO_INCREMENT=1 ;
Para insertar sólo tienes que hacer:
Código SQL
[-]INSERT INTO `empleado` (`Nombre`) VALUES ('Juan González');