Si como en el ejemplo la parte no numerica es constante no necesitas insertarla en la base de datos. Si no es constante yo la guardaria en otro campo y usaria un autoincrement con la propiedad zero fill activada asi te pondrá los zeros a la izquierda.
Código pre:
Ver originalcreate table tmpfoo (
mykey int(6) zerofill not null auto_increment,
primary key(mykey)
);
insert into tmpfoo values(1),(2);
select * from tmpfoo;
+--------+
| mykey |
+--------+
| 000001 |
| 000002 |
+--------+
select concat("E",mykey) as codigo from tmpfoo;
+---------+
| codigo |
+---------+
| E000001 |
| E000002 |
+---------+