Además de la respuesta de Sabeen:
La identificación de la primera columna es su clave principal.
No inserte '' en la clave principal, pero inserte nulo en su lugar.
INSERT INTO users
(`id`,`title`,`firstname`,`lastname`,`company`,`address`,`city`,`county`
,`postcode`,`phone`,`mobile`,`category`,`email`,`password`,`userlevel`)
VALUES
(null,'','John','Doe','company','Streeet','city','county'
,'postcode','phone','','category','example@sqldat.com','','');
Si es una clave de incremento automático, esto solucionará su problema.
Si no, haga id una clave de incremento automático, y siempre inserte null en él para activar un autoincremento.
MySQL tiene una configuración para autoincrementar claves solo en null insertar o en ambas inserciones de 0 y null . No cuente con esta configuración, porque su código puede romperse si cambia de servidor.
Si inserta null tu código siempre funcionará.
Ver:https://dev.mysql.com /doc/refman/5.0/es/ejemplo-auto-incremento.html